首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何按特定列分组,然后在不是NA的地方获取多个列的计数,并将它们添加到Pandas Python中?

在Pandas中,可以使用groupby方法按特定列进行分组,然后使用count方法获取多个列的计数,并将结果添加到DataFrame中。

下面是一个示例代码:

代码语言:txt
复制
import pandas as pd

# 创建一个示例DataFrame
data = {'A': [1, 2, 3, 4, 5],
        'B': [1, 1, 2, 2, 2],
        'C': [1, 2, pd.NA, 4, pd.NA],
        'D': [1, pd.NA, pd.NA, 4, 5]}
df = pd.DataFrame(data)

# 按列'B'进行分组,并计算列'C'和列'D'的非NA值的计数
result = df.groupby('B').agg({'C': lambda x: x.count(), 'D': lambda x: x.count()})

# 将计数结果添加到原DataFrame中
df['C_count'] = df['B'].map(result['C'])
df['D_count'] = df['B'].map(result['D'])

print(df)

输出结果如下:

代码语言:txt
复制
   A  B    C    D  C_count  D_count
0  1  1    1    1        2        2
1  2  1    2  NaN        2        2
2  3  2  NaN  NaN        3        3
3  4  2    4    4        3        3
4  5  2  NaN    5        3        3

在这个例子中,我们按列'B'进行分组,然后使用agg方法计算列'C'和列'D'的非NA值的计数。最后,使用map方法将计数结果添加到原DataFrame中的新列'C_count'和'D_count'中。

这个方法适用于任意多个列的计数,并且可以根据实际需求进行修改。对于Pandas的更多操作和用法,可以参考Pandas官方文档

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

手把手教你做一个“渣”数据师,用Python代替老情人Excel

请按照以下链接下载数据,并将其放在与存储Python文件同一文件夹。...Python提供了许多不同方法来对DataFrame进行分割,我们将使用它们几个来了解它是如何工作。...2、查看多 ? 3、查看特定行 这里使用方法是loc函数,其中我们可以指定以冒号分隔起始行和结束行。注意,索引从0开始而不是1。 ? 4、同时分割行和 ? 5、某一筛选 ?...11、Excel复制自定义筛选器 ? 12、合并两个过滤器计算结果 ? 13、包含Excel功能 ? 14、从DataFrame获取特定值 ?...五、数据计算 1、计算某一特定值 输出结果是一个系列。称为单列数据透视表: ? 2、计数 统计每或每行NA单元格数量: ? 3、求和 行或求和数据: ? 为每行添加总: ?

8.4K30

最全面的Pandas教程!没有之一!

交叉选择行和数据 我们可以用 .xs() 方法轻松获取到多级索引某些特定级别的数据。比如,我们需要找到所有 Levels ,Num = 22 行: ?...清洗数据 删除或填充空值 许多情况下,如果你用 Pandas 来读取大量数据,往往会发现原始数据中会存在不完整地方。...分组统计 Pandas 分组统计功能可以某一内容对数据行进行分组,并对其应用统计函数,比如求和,平均数,中位数,标准差等等… 举例来说,用 .groupby() 方法,我们可以对下面这数据表...同时,我们可以传入多个 on 参数,这样就能多个键值进行归并: ? image 连接(Join) 如果你要把两个表连在一起,然而它们之间没有太多共同,那么你可以试试 .join() 方法。...Pandas 数据透视表能自动帮你对数据进行分组、切片、筛选、排序、计数、求和或取平均值,并将结果直观地显示出来。比如,这里有个关于动物统计表: ?

25.9K64
  • Python pandas十分钟教程

    Pandas是数据处理和数据分析中最流行Python库。本文将为大家介绍一些有用Pandas信息,介绍如何使用Pandas不同函数进行数据探索和操作。...import pandas as pd pandas默认情况下,如果数据集中有很多,则并非所有都会显示输出显示。...要选择多个,可以使用df[['Group', 'Contour', 'Depth']]。 子集选择/索引:如果要选择特定子集,我们可以使用.loc或.iloc方法。...数据清洗 数据清洗是数据处理一个绕不过去坎,通常我们收集到数据都是不完整,缺失值、异常值等等都是需要我们处理Pandas给我们提供了多个数据清洗函数。...Pandas中提供以下几种方式对数据进行分组。 下面的示例“Contour”对数据进行分组,并计算“Ca”记录平均值,总和或计数

    9.8K50

    python数据分析——数据分类汇总与统计

    本文将介绍如何使用Python进行数据分类汇总与统计,帮助读者更好地理解和应用数据。 首先,我们需要导入一些常用Python库,如pandas、numpy和matplotlib等。...实际数据分析过程,我们可能需要对数据进行清洗、转换和预处理,以满足特定分析需求。Python提供了丰富数据处理工具,如数据清洗、缺失值处理、异常值检测等,使得数据分析过程更加高效和准确。...第一个阶段,pandas对象数据会根据你所提供一个或多个键被拆分(split)为多组。拆分操作是在对象特定轴上执行。...我们可以用分组平均值去填充NA值: 也可以代码预定义各组填充值。由于分组具有一个name属性,所以我们可以拿来用一下: 四、数据透视表与交叉表 4.1....关键技术:pandas透视表操作由pivot_table()函数实现,其中在所有参数,values、index、 columns最为关键,它们分别对应Excel透视表值、行、

    63410

    从Excel到Python:最常用36个Pandas函数

    本文为粉丝投稿《从Excel到Python》读书笔记 本文涉及pandas最常用36个函数,通过这些函数介绍如何完成数据生成和导入、数据清洗、预处理,以及最常见数据分类,数据筛选,分类汇总,透视等最常见操作...列当前均值,然后使用这个均值对NA进行填充。...Python需要使用ort_values函数和sort_index函数完成排序 #特定值排序 df_inner.sort_values(by=['age']) ?...4.数据分组 Excel可以通过VLOOKUP函数进行近似匹配来完成对数值分组,或者使用“数据透视表”来完成分组 Python中使用Where函数用来对数据进行判断和分组 #如果price值>3000...还可以对多个字段值进行判断后对数据进行分组,下面的代码对city等于beijing并且price大于等于4000数据标记为1。

    11.5K31

    手把手 | 如何Python做自动化特征工程

    我们可以通过查找joined月份或是获取income自然对数来创建特征。这些都是转换,因为它们仅使用来自一个表信息。...,并使用一对多关系对观测值进行分组然后计算统计数据。...此过程包括通过客户信息对贷款表进行分组,计算聚合,然后将结果数据合并到客户数据。以下是我们如何使用PandasPython执行此操作。...将数据框添加到实体集后,我们检查它们任何一个: 使用我们指定修改模型能够正确推断类型。接下来,我们需要指定实体集中表是如何相关。...我们已经知道它们是什么了,但我们刚刚用不同名字来称呼它们!这些只是我们用来形成新功能基本操作: 聚合:基于父表与子表(一对多)关系完成操作,父表分组,并计算子表计数据。

    4.3K10

    Python for Excel》读书笔记连载12:使用pandas进行数据分析之理解数据

    引言:本文为《Python for Excel》第5章Chapter 5:Data Analysis with pandas部分内容,主要讲解了pandas如何对数据进行描述性统计,并讲解了将数据聚合到子集两种方法...在数据框架所有行获取统计信息有时不够好,你需要更细粒度信息,例如,每个类别的均值,这是下面的内容。 分组 再次使用我们示例数据框架df,让我们找出每个大陆平均分数。...为此,首先按洲对行进行分组然后应用mean方法,该方法将计算每组均值,自动排除所有非数字: 如果包含多个,则生成数据框架将具有层次索引,即我们前面遇到多重索引: 可以使用pandas提供大多数描述性统计信息...例如,下面是如何获得每组最大值和最小值之间差值: df.groupby(["continent"]).agg(lambdax: x.max() - x.min()) Excel获取每个组统计信息常用方法是使用透视表...最后,margins与Excel总计(GrandTotal)相对应,即如果不使用margins和margins_name方式,则Total和行将不会显示: 总之,数据透视意味着获取本例

    4.2K30

    9个value_counts()小技巧,提高Pandas 数据分析效率

    生成Series可以降序或升序排序,通过参数控制包括或排除NA本文中,我们将探讨 Pandas value_counts() 不同用例。您将学习如何使用它来处理以下常见任务。...默认参数 升序对结果进行排序 字母顺序排列结果 结果包含空值 以百分比计数显示结果 将连续数据分入离散区间 分组并调用 value_counts() 将结果系列转换为 DataFrame 应用于DataFrame...默认情况下,结果系列降序排列,不包含任何 NA 值。例如,让我们从 Titanic 数据集中获取“Embarked”计数。...一个常见用例是某个分组然后获取另一唯一值计数。例如,让我们“Embarked”分组获取不同“Sex”值计数。...Pandas DataFrame.value_counts() 返回一个包含 DataFrame 唯一行计数系列。

    6.6K61

    9个value_counts()小技巧,提高Pandas 数据分析效率

    生成Series可以降序或升序排序,通过参数控制包括或排除NA本文中,我们将探讨 Pandas value_counts() 不同用例。您将学习如何使用它来处理以下常见任务。...1、默认参数 2、升序对结果进行排序 3、字母顺序排列结果 4、结果包含空值 5、 以百分比计数显示结果 6、将连续数据分入离散区间 7、分组并调用 value_counts() 8、将结果系列转换为...默认情况下,结果系列降序排列,不包含任何 NA 值。例如,让我们从 Titanic 数据集中获取“Embarked”计数。...一个常见用例是某个分组然后获取另一唯一值计数。例如,让我们“Embarked”分组获取不同“Sex”值计数。...Pandas DataFrame.value_counts() 返回一个包含 DataFrame 唯一行计数系列。

    2.4K20

    9个value_counts()小技巧,提高Pandas 数据分析效率

    生成Series可以降序或升序排序,通过参数控制包括或排除NA本文中,我们将探讨 Pandas value_counts() 不同用例。您将学习如何使用它来处理以下常见任务。...默认参数 升序对结果进行排序 字母顺序排列结果 结果包含空值 以百分比计数显示结果 将连续数据分入离散区间 分组并调用 value_counts() 将结果系列转换为 DataFrame 应用于DataFrame...默认情况下,结果系列降序排列,不包含任何 NA 值。例如,让我们从 Titanic 数据集中获取“Embarked”计数。  ...一个常见用例是某个分组然后获取另一唯一值计数。例如,让我们“Embarked”分组获取不同“Sex”值计数。  ...Pandas DataFrame.value_counts() 返回一个包含 DataFrame 唯一行计数系列。

    2.9K20

    python数据分析——数据选择和运算

    它们能够帮助我们从海量数据中提取出有价值信息,并通过适当运算处理,得出有指导意义结论。 数据选择,是指在原始数据集中筛选出符合特定条件数据子集。这通常涉及到对数据筛选、排序和分组等操作。...数据获取索引取值 使用单个值或序列,可以从DataFrame索引出一个或多个。...代码和输出结果如下所示: (3)使用“how”参数合并 关键技术:how参数指定如何确定结果表包含哪些键。如果左表或右表中都没有出现组合键,则联接表值将为NA。...非空值计数 【例】对于存储Python文件同目录下某电商平台销售数据product_sales.csv,形式如下所示,请利用Python对数据读取,并计算数据集每非空值个数情况。...关键技术:可以利用标签索引和count()方法来进行计数,程序代码如下所示: 【例】对于上述数据集product_sales.csv,若需要特定行进行非空值计数,应该如何处理?

    17310

    Python 数据处理:Pandas使用

    Series索引匹配到DataFrame然后沿着行一直向下广播: print(frame - series) 如果某个索引值DataFrame或Series索引找不到,则参与运算两个对象就会被重新索引以形成并集...选项: 方法 描述 'average' 默认:相等分组,为各个值分配平均排名 'min' 使用整个分组最小排名 'max' 使用整个分组最大排名 'first' 原始数据出现顺序分配排名...无论如何计算相关系数之前,所有的数据项都会标签对齐。 ---- 3.2 唯一值、值计数以及成员资格 还有一类方法可以从一维Series抽取信息。...计算Series唯一值数组,发现顺序返回 value_counts 返回一个Series,其索引为唯一值,其值为频率,计数值降序排列 有时,你可能希望得到DataFrame多个相关一张柱状图...后面的频率值是每个这些值相应计数

    22.7K10

    python df 替换_如何Python做数据分析,没有比这篇文章更详细了(图文详情)...

    Excel 文件菜单中提供了获取外部数据功能,支持数据库和文本文件和页面的多种数据源导入。  获取外部数据  python 支持从多种类型数据导入。...开始使用 python 进行数据导入前需要先导入 pandas 库,为了方便起见,我们也同时导入 numpy 库。  ...Python 中使用 unique 函数查看唯一值。  查看唯一值  Unique 是查看唯一值函数,只能对数据表特定进行检查。下面是代码,返回结果是该唯一值。...Python 需要使用 ort_values 函数和 sort_index 函数完成排序。  排序   python ,既可以索引对数据表进行排序,也可以看制定数值进行排序。...high','low')  where  除了 where 函数以外,还可以对多个字段值进行判断后对数据进行分组,下面的代码对 city 等于 beijing 并且 price 大于等于 4000

    4.4K00

    一句Python,一句R︱pandas模块——高级版data.frame

    最好就是一句python,对应写一句R。 pandas可谓如雷贯耳,数据处理神器。 以下符号: =R= 代表着R中代码是怎么样。...简单统计量/计数 df.mean(axis=0,skipna=True) =R=apply(df,2,mean) #dfpop,求均值,skipna代表是否跳过均值axis=0,skipna=True...: groups['C'].count()##按照A分组B组计数 Out[210]: A bar 3 foo 5 Name: C, dtype: int64 2、Apply 函数 向数据框每一行或每一传递指定函数后...字符处理 pandas提供许多向量化字符操作,你可以str属性中找到它们 s.str.lower() s.str.len() s.str.contains(pattern) 6、时间序列 时间序列也是...参考博客:《Python结构化数据分析利器-Pandas简介》 6、Crosstab 函数 该函数用于获取数据初始印象(直观视图),从而验证一些基本假设。

    4.8K40

    Python常用小技巧总结

    others Python合并多个EXCEL工作表 pandasSeries和Dataframe数据类型互转 相同字段合并 Python小技巧 简单表达式 列表推导式 交换变量 检查对象使用内存情况...(dropna=False) # 查看Series对象唯⼀值和计数 df.apply(pd.Series.value_counts) # 查看DataFrame对象每⼀唯⼀值和计数 df.isnull...([col1,col2]) # 返回⼀个进⾏分组Groupby对象 df.groupby(col1)[col2].agg(mean) # 返回col1进⾏分组后,col2均值,agg可以接受列表参数...col1进⾏分组,计算col2最⼤值和col3最⼤值、最⼩值数据透视表 df.groupby(col1).agg(np.mean) # 返回col1分组所有均值,⽀持 df.groupby....append(df2) # 将df2添加到df1尾部 df.concat([df1,df2],axis=1,join='inner') # 将df2添加到df1尾部,值为空对应⾏与对应列都不要

    9.4K20

    Pandas速查卡-Python数据科学

    , URL或文件. pd.read_html(url) 解析html URL,字符串或文件,并将表提取到数据框列表 pd.read_clipboard() 获取剪贴板内容并将其传递给read_table...) 所有唯一值和计数 选择 df[col] 返回一维数组col df[[col1, col2]] 作为新数据框返回 s.iloc[0] 位置选择 s.loc['index_one'] 索引选择...) 将col1升序排序,然后降序排序col2 df.groupby(col) 从一返回一组对象值 df.groupby([col1,col2]) 从多返回一组对象值 df.groupby(col1...)[col2] 返回col2平均值,col1分组(平均值可以用统计部分几乎任何函数替换) df.pivot_table(index=col1,values=[col2,col3],aggfunc...np.mean) 每个列上应用函数 data.apply(np.max,axis=1) 每行上应用一个函数 加入/合并 df1.append(df2) 将df1添加到df2末尾(数应该相同

    9.2K80

    如何Python 3安装pandas包和使用数据结构

    本教程,我们将首先安装pandas然后让您了解基础数据结构:Series和DataFrames。 安装 pandas 同其它Python包,我们可以使用pip安装pandas。...让我们命令行启动Python解释器,如下所示: python 解释器,将numpy和pandas包导入您命名空间: import numpy as np import pandas as pd...Python词典提供了另一种表单来pandas设置Series。 DataFrames DataFrame是二维标记数据结构,其具有可由不同数据类型组成。...要了解pandasDataFrame工作原理,让我们设置两个Series,然后它们传递给DataFrame。...pandas软件包提供了许多不同方法来处理丢失数据,这些null数据是指由于某种原因不存在数据或数据。pandas,这被称为NA数据并被渲染为NaN。

    18.9K00

    数据导入与预处理-课程总结-04~06章

    第4章 pandas数据获取 完整参考: 数据导入与预处理-第4章-pandas数据获取 1.1 数据获取 1.1.1 概述 数据经过采集后通常会被存储到Word、Excel、JSON等文件或数据库...本章主要为大家介绍如何多个渠道获取数据,为预处理做好数据准备。...Pandas中使用read_json()函数读取JSON文件数据,并将数据转换成一个DataFrame类对象。...常用合并数据函数包括: 3.2.3 主键合并数据merge 主键合并数据类似于关系型数据库连接操作,主要通过指定一个或多个键将两组数据进行连接,通常以两组数据重复索引为合并键。...lsuffix: 左DataFrame重复列后缀 rsuffix: 右DataFrame重复列后缀 sort: 字典序对结果在连接键上排序 join方式为某个相同进行join: score_df

    13K10
    领券