pandas 计数
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了pandas 计数相关的知识,希望对你有一定的参考价值。
参考技术A 一、计算所有数,比如不重复的数和计次等1、获取列信息,并转化为列表
import pandas
df=pd.read_exce('文件路径+文件名')
count_list=df['列名'].to_list()
2、计数
number=len(count_list)
print(number)
二、计算不重复的数,比如影片集中电影导演数,点菜的菜名数等
1、获取列信息,并转化为列表
import pandas
df=pd.read_exce('文件路径+文件名')
count_list=df['列名'].to_list()
2、 去重
count_set=set(count_list) #去重
3、计数
number=len(count_set)
print(number)
三、unique函数统计不重复的数
mport pandas
df=pd.read_exce('文件路径+文件名')
number=df['列标签'].unique()
从 Pandas 数据框中另一个系列分段的日期累积计数创建增量计数
【中文标题】从 Pandas 数据框中另一个系列分段的日期累积计数创建增量计数【英文标题】:Create an incremental count from a cumulative count by date segmented by another series in a Pandas data frame 【发布时间】:2021-01-15 04:47:06 【问题描述】:我在一个日期框架 ('df1') 中有累积数据(系列'cumulative_count'),该数据框架由系列“状态”分段,我想在数据框架中创建一个新系列,显示增量计数“状态”。
所以:
df1 = pd.DataFrame('date': ['2020-01-03','2020-01-03','2020-01-03','2020-01-04','2020-01-04','2020-01-04','2020-01-05','2020-01-05','2020-01-05'],'state': ['NJ','NY','CT','NJ','NY','CT','NJ','NY','CT'], 'cumulative_count': [1,3,5,3,6,7,19,15,20])
...转换为添加新系列(“增量计数”),其中增量计数按日期计算,但也按状态分段,生成的结果为...
df2 = pd.DataFrame('date': ['2020-01-03','2020-01-03','2020-01-03','2020-01-04','2020-01-04','2020-01-04','2020-01-05','2020-01-05','2020-01-05'],'state': ['NJ','NY','CT','NJ','NY','CT','NJ','NY','CT'], 'cumulative_count': [1,3,5,3,6,7,19,15,20],'incremental_count': [1,3,5,2,3,2,16,9,13])
任何有关如何执行此操作的建议将不胜感激。谢谢!
【问题讨论】:
【参考方案1】:由于您的 DataFrame 已按 'date'
排序,因此您希望在每个状态组中使用 diff
。然后fillna
获取每个州内第一个日期的正确值。
df1['incremental_count'] = (df1.groupby('state')['cumulative_count'].diff()
.fillna(df1['cumulative_count'], downcast='infer'))
date state cumulative_count incremental_count
0 2020-01-03 NJ 1 1
1 2020-01-03 NY 3 3
2 2020-01-03 CT 5 5
3 2020-01-04 NJ 3 2
4 2020-01-04 NY 6 3
5 2020-01-04 CT 7 2
6 2020-01-05 NJ 19 16
7 2020-01-05 NY 15 9
8 2020-01-05 CT 20 13
【讨论】:
以上是关于pandas 计数的主要内容,如果未能解决你的问题,请参考以下文章
pandas读取csv文件时避免科学计数法(xxxe+09)