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)

用 Pandas 计数和排序

两个值匹配 pandas 时的累积计数

pandas从excel读取数据数字类型过长出现科学计数法的问题

每月、每年分组的值计数 - Pandas

使用 pandas 将 .csv 文件转换为科学计数法