pandas dataframe dataframe.sum()函数
python pandas dataframe.sum() 的功能是计算 dataframe
对象在指定轴上的值之和。
pandas.dataframe.sum()
的语法
dataframe.sum(
axis=none, skipna=none, level=none, numeric_only=none, min_count=0, **kwargs
)
参数
axis |
沿着行(axis=0 )或列(axis=1 )求和 |
skipna |
布尔型。排除 nan 值(skipna=true )或包含 nan 值(skipna=false )。 |
level |
如果轴为 multiindex ,则沿特定级别进行计数。 |
numeric_only |
布尔型。对于 numeric_only=true ,只包括 float 、int 和 boolean 列。 |
min_count |
整数。计算总和的非 nan 值的最小数目。如果不满足这一条件,总和将为 nan 。 |
**kwargs |
函数的附加关键字参数 |
返回值
如果没有指定 level
,则返回所要求的轴的值之和的 series
,否则返回总和值的 dataframe
。
示例代码: dataframe.sum()
沿列轴计算和值的方法
import pandas as pd
df = pd.dataframe({'x':
[1,2,3,4,5],
'y': [1, 2, 3,4,5],
'z': [3,4,5,6,3]})
print("dataframe:")
print(df)
sums=df.sum()
print("column-wise sum:")
print(sums)
输出:
dataframe:
x y z
0 1 1 3
1 2 2 4
2 3 3 5
3 4 4 6
4 5 5 3
column-wise sum:
x 15
y 15
z 21
dtype: int64
它计算所有列 x
、y
和 z
的总和,最后返回一个 series
对象,其中包括每列的总和。
在 pandas 中,要找到 dataframe 中某一列的总和,只需要调用该列的 sum()
函数。
import pandas as pd
df = pd.dataframe({'x':
[1,2,3,4,5],
'y': [1, 2, 3,4,5],
'z': [3,4,5,6,3]})
print("dataframe:")
print(df)
sums=df["z"].sum()
print("sum of values of z-column:")
print(sums)
输出:
dataframe:
x y z
0 1 1 3
1 2 2 4
2 3 3 5
3 4 4 6
4 5 5 3
sum of values of z-column:
21
它只给出了 dataframe z
列值的总和。
示例代码: dataframe.sum()
沿行轴查找总和的方法
import pandas as pd
df = pd.dataframe({'x':
[1,2,3,4,5],
'y': [1, 2, 3,4,5],
'z': [3,4,5,6,3]})
print("dataframe:")
print(df)
sums=df.sum(axis=1)
print("row-wise sum:")
print(sums)
输出:
dataframe:
x y z
0 1 1 3
1 2 2 4
2 3 3 5
3 4 4 6
4 5 5 3
row-wise sum:
0 5
1 8
2 11
3 14
4 13
dtype: int64
它计算所有行的总和,最后返回一个包含每行总和的 series
对象。
在 pandas 中,如果要找到 dataframe
中某一行的总和,需要调用 sum()
函数来计算这一行的总和。
import pandas as pd
df = pd.dataframe({'x':
[1,2,3,4,5],
'y': [1, 2, 3,4,5],
'z': [3,4,5,6,3]})
print("dataframe:")
print(df)
sum_3=df.iloc[[2]].sum(axis=1)
print("sum of values of 3rd row:")
print(sum_3)
输出:
dataframe:
x y z
0 1 1 3
1 2 2 4
2 3 3 5
3 4 4 6
4 5 5 3
sum of values of 3rd row:
2 11
dtype: int64
它只给出了 dataframe
的第三行的值的总和。
使用 iloc
方法根据索引来选择行。
示例代码:dataframe.sum()
方法查找忽略 nan
值的总和
使用 skipna
参数的默认值,即 skipna=true
沿指定的轴找到 dataframe
的总和,忽略 nan
值。
import pandas as pd
df = pd.dataframe({'x':
[1,none,3,4,5],
'y': [1, none, 3,none,5],
'z': [3,4,5,6,3]})
print("dataframe:")
print(df)
sums=df.sum()
print("column-wise sum:")
print(sums)
输出:
dataframe:
x y z
0 1.0 1.0 3
1 nan nan 4
2 3.0 3.0 5
3 4.0 nan 6
4 5.0 5.0 3
column-wise sum:
x 13.0
y 9.0
z 21.0
dtype: float64
如果你设置 skipna=true
,如果 dataframe 有 nan
值,你将得到 nan
值的和。
import pandas as pd
df = pd.dataframe({'x':
[1,none,3,4,5],
'y': [1, none, 3,none,5],
'z': [3,4,5,6,3]})
print("dataframe:")
print(df)
sums=df.sum(skipna=false)
print("column-wise sum:")
print(sums)
输出:
dataframe:
x y z
0 1.0 1.0 3
1 nan nan 4
2 3.0 3.0 5
3 4.0 nan 6
4 5.0 5.0 3
column-wise sum:
x nan
y nan
z 21.0
dtype: float64
这里,你会得到列 x
和 y
之和的 nan
值,因为它们都有 nan
值。
示例代码:在 dataframe.sum()
方法中设置 min_count
import pandas as pd
df = pd.dataframe({'x':
[1,none,3,4,5],
'y': [1, none, 3,none,5],
'z': [3,4,5,6,3]})
print("dataframe:")
print(df)
sums=df.sum(min_count=4)
print("column-wise sum:")
print(sums)
输出:
dataframe:
x y z
0 1.0 1.0 3
1 nan nan 4
2 3.0 3.0 5
3 4.0 nan 6
4 5.0 5.0 3
column-wise sum:
x 13.0
y nan
z 21.0
dtype: float64
在这里,你可以得到 y
列之和的 nan
值,因为 y
列只有 3 个非 nan
值,小于 min_count
参数的值。
转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处
本文地址:
相关文章
pandas dataframe dataframe.shift() 函数
发布时间:2024/04/24 浏览次数:133 分类:python
-
dataframe.shift() 函数是将 dataframe 的索引按指定的周期数进行移位。
python pandas.pivot_table() 函数
发布时间:2024/04/24 浏览次数:82 分类:python
-
python pandas pivot_table()函数通过对数据进行汇总,避免了数据的重复。
pandas read_csv()函数
发布时间:2024/04/24 浏览次数:254 分类:python
-
pandas read_csv()函数将指定的逗号分隔值(csv)文件读取到 dataframe 中。
pandas 多列合并
发布时间:2024/04/24 浏览次数:628 分类:python
-
本教程介绍了如何在 pandas 中使用 dataframe.merge()方法合并两个 dataframes。
pandas loc vs iloc
发布时间:2024/04/24 浏览次数:837 分类:python
-
本教程介绍了如何使用 python 中的 loc 和 iloc 从 pandas dataframe 中过滤数据。
在 python 中将 pandas 系列的日期时间转换为字符串
发布时间:2024/04/24 浏览次数:894 分类:python
-
了解如何在 python 中将 pandas 系列日期时间转换为字符串