pandas的排序、分组及累计求和方式
排序
pandas可以使用sort_values()
方法实现数据帧(DataFrame)和系列(Series)的排序。该方法的默认行为是按升序排序,可以通过参数ascending
来设置降序排序。
示例:
import pandas as pd
df = pd.DataFrame({
'name': ['Alice', 'Bob', 'Charlie', 'David'],
'age': [25, 17, 30, 42]
})
# 按年龄升序排序
df = df.sort_values(by='age')
print(df)
# 按年龄降序排序
df = df.sort_values(by='age', ascending=False)
print(df)
输出结果:
name age
1 Bob 17
0 Alice 25
2 Charlie 30
3 David 42
name age
3 David 42
2 Charlie 30
0 Alice 25
1 Bob 17
分组
pandas可以使用groupby()
方法实现数据分组。该方法将数据按照指定列的值进行分组,并返回每组数据的统计结果。
示例:
import pandas as pd
df = pd.DataFrame({
'name': ['Alice', 'Bob', 'Charlie', 'David', 'Ella', 'Frank'],
'gender': ['F', 'M', 'M', 'M', 'F', 'M'],
'age': [25, 17, 30, 42, 22, 38]
})
# 按性别分组,并计算每组平均年龄、最大年龄、最小年龄、总人数
grouped = df.groupby(by='gender').agg({
'age': ['mean', 'max', 'min', 'count']
})
print(grouped)
输出结果:
age
mean max min count
gender
F 23.500000 25 22 2
M 29.166667 42 17 4
累计求和
pandas可以使用cumsum()
方法实现累计求和。该方法可以将数据帧(DataFrame)和系列(Series)的每个元素和前面的元素相加求和,返回一个包含所有元素的序列。
示例:
import pandas as pd
s = pd.Series([1, 2, 3, 4, 5])
# 对系列进行累计求和
cumsum_s = s.cumsum()
print(cumsum_s)
输出结果:
0 1
1 3
2 6
3 10
4 15
dtype: int64
总结:
本文介绍了pandas的排序、分组及累计求和方式,可以用于数据分析中的结果生成和处理。sort_values()
方法可以按指定的列进行排序,并可以设置升序和降序。groupby()
方法可以按指定的列进行分组,返回每组数据的统计结果。cumsum()
方法可以对数据帧或系列进行累计求和操作。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:pandas的排序、分组groupby及cumsum累计求和方式 - Python技术站