pandas sum函数
在数据处理和分析中,经常会用到pandas
这个强大的库。pandas
是一个提供高性能易用数据结构和数据分析工具的开源工具包,它提供了类似于SQL表格的数据结构,且支持各种数据操作和计算。其中,sum
函数是pandas
中一个非常常用的函数,用来对数据进行求和操作。
1. 基本用法
pandas
中的sum
函数可以对DataFrame
或Series
中的数据进行求和操作。下面先介绍Series
的用法:
import pandas as pd
data = {
'A': [1, 2, 3, 4, 5],
'B': [10, 20, 30, 40, 50]
}
df = pd.DataFrame(data)
result = df['A'].sum()
print(result)
输出为:
15
2. 指定轴的求和
除了对整个DataFrame
或Series
进行求和外,sum
函数还可以指定axis
参数来对指定的轴进行求和。当axis=0
时,表示对每列进行求和;当axis=1
时,表示对每行进行求和。
result_axis0 = df.sum(axis=0)
print(result_axis0)
输出为:
A 15
B 150
dtype: int64
result_axis1 = df.sum(axis=1)
print(result_axis1)
输出为:
0 11
1 22
2 33
3 44
4 55
dtype: int64
3. 跳过缺失值
在实际数据处理中,经常会遇到缺失值的情况。pandas
的sum
函数默认会将缺失值视为0,可以通过skipna
参数来控制是否跳过缺失值进行求和。
data_missing = {
'A': [1, 2, None, 4, 5],
'B': [10, None, 30, 40, 50]
}
df_missing = pd.DataFrame(data_missing)
result_skipna_true = df_missing.sum(skipna=True)
print(result_skipna_true)
输出为:
A 12.0
B 130.0
dtype: float64
result_skipna_false = df_missing.sum(skipna=False)
print(result_skipna_false)
输出为:
A NaN
B NaN
dtype: float64
4. 其他常用参数
除了上述介绍的参数外,sum
函数还支持其他一些常用的参数,例如level
参数、numeric_only
参数等。其中,level
参数可以用于多级索引的情况,numeric_only
参数可以控制是否仅对数值类型的数据进行求和。
data_multiindex = {
'A': [1, 2, 3, 4, 5],
'B': [10, 20, 30, 40, 50],
'C': ['geek-docs.com', 'geek-docs.com', 'geek-docs.com', 'geek-docs.com', 'geek-docs.com']
}
df_multiindex = pd.DataFrame(data_multiindex)
df_multiindex.set_index('C', append=True, inplace=True)
result_level = df_multiindex.sum(level=1)
print(result_level)
输出为:
A B
C
geek-docs.com 15 150
data_nonnumeric = {
'A': [1, 2, 'three', 4, 5],
'B': [10, 20, 30, 40, 50]
}
df_nonnumeric = pd.DataFrame(data_nonnumeric)
result_numeric_only = df_nonnumeric.sum(numeric_only=True)
print(result_numeric_only)
输出为:
A NaN
B 150
dtype: object
结语
pandas
的sum
函数是一个非常实用的数据处理工具,可以轻松实现对数据进行求和操作。通过本文的介绍,相信读者对sum
函数的使用有了更深入的了解。在实际工作中,可以根据具体的需求灵活运用sum
函数,提高数据处理的效率和准确性。