Pandas DataFrame GroupBy 多列进行值计数
在使用 Pandas 进行 DataFrame 操作时,按多列对数据进行分组可以提供有价值的见解。本文演示了如何在按两列分组时对观察值进行计数,以及确定每个分组的最高计数。
给定一个具有多列的 DataFrame,可以将“groupby”函数应用于对数据进行分组基于特定列。在这里,我们有一个名为“df”的 DataFrame,有五列:“col1”、“col2”、“col3”、“col4”和“col5”。
import pandas as pd
df = pd.DataFrame([
[1.1, 1.1, 1.1, 2.6, 2.5, 3.4,2.6,2.6,3.4,3.4,2.6,1.1,1.1,3.3],
list('AAABBBBABCBDDD'),
[1.1, 1.7, 2.5, 2.6, 3.3, 3.8,4.0,4.2,4.3,4.5,4.6,4.7,4.7,4.8],
['x/y/z','x/y','x/y/z/n','x/u','x','x/u/v','x/y/z','x','x/u/v/b','-','x/y','x/y/z','x','x/u/v/w'],
['1','3','3','2','4','2','5','3','6','3','5','1','1','1']
]).T
df.columns = ['col1','col2','col3','col4','col5']
按行组计数
来统计每个行组中的观察数,对所需列使用“groupby”函数,然后应用“大小” function.
result = df.groupby(['col5', 'col2']).size()
这将生成一个以分组列为索引的 DataFrame大小作为值。
print(result)
确定最高值计数
要确定每个“col2”值的最大计数,请对“col2”使用“groupby”函数,然后对分组数据应用“max”函数。
result = df.groupby(['col5', 'col2']).size().groupby(level=1).max()
这将生成一个系列,其中每个 'col2' 值的最大计数。
print(result)
总而言之,使用 Pandas 中的“groupby”和“size”函数可以有效地分析和聚合数据,使用户能够提取有关其数据的见解以各种方式。
免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。
Copyright© 2022 湘ICP备2022001581号-3