pandas sum函数

pandas sum函数

pandas sum函数

在数据处理和分析中,经常会用到pandas这个强大的库。pandas是一个提供高性能易用数据结构和数据分析工具的开源工具包,它提供了类似于SQL表格的数据结构,且支持各种数据操作和计算。其中,sum函数是pandas中一个非常常用的函数,用来对数据进行求和操作。

1. 基本用法

pandas中的sum函数可以对DataFrameSeries中的数据进行求和操作。下面先介绍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. 指定轴的求和

除了对整个DataFrameSeries进行求和外,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. 跳过缺失值

在实际数据处理中,经常会遇到缺失值的情况。pandassum函数默认会将缺失值视为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

结语

pandassum函数是一个非常实用的数据处理工具,可以轻松实现对数据进行求和操作。通过本文的介绍,相信读者对sum函数的使用有了更深入的了解。在实际工作中,可以根据具体的需求灵活运用sum函数,提高数据处理的效率和准确性。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程