Pandas 对给定列求DataFrame列之和

Pandas 对给定列求DataFrame列之和

Pandas 对给定列求DataFrame列之和

在本文中,我们将介绍如何利用Pandas对给定的DataFrame的列求和。

阅读更多:Pandas 教程

DataFrame的sum()方法

在Pandas中,DataFrame的sum()方法可以对给定的列进行求和操作。下面是一个示例,对DataFrame的两个列进行求和:

import pandas as pd

data = {'name': ['Alice', 'Bob', 'Charlie', 'David', 'Ella'],

'age': [25, 32, 18, 47, 21],

'height': [161, 184, 173, 176, 162],

'weight': [55, 73, 66, 80, 60]}

df = pd.DataFrame(data)

result = df[['age', 'height']].sum()

print(result)

输出结果为:

age 143

height 856

dtype: int64

在上面的示例中,我们先定义了一个包含’name’, ‘age’, ‘height’, ‘weight’四列的DataFrame。然后,我们利用DataFrame的sum()方法对’age’和’height’两列进行求和操作,最后将结果输出。

sum()方法的参数

sum()方法有一些可选参数,可以控制对哪些列进行求和操作。这些参数包括:

axis: 默认为0,表示按列进行求和操作。如果设置为1,则表示按行求和。

skipna: 默认为True,表示忽略缺失值NaN。如果设置为False,则表示将缺失值也计入求和操作。

下面是一个示例,通过设置skipna参数为False,将缺失值也计入求和操作:

import numpy as np

data = {'name': ['Alice', 'Bob', 'Charlie', 'David', 'Ella'],

'age': [25, 32, np.nan, 47, 21],

'height': [161, 184, 173, np.nan, 162],

'weight': [55, 73, 66, 80, np.nan]}

df = pd.DataFrame(data)

print(df.sum(skipna=False))

输出结果为:

age NaN

height NaN

weight NaN

dtype: float64

可以看到,由于设置了skipna参数为False,缺失值被计入了求和操作中,因此结果为NaN。

对DataFrame的所有列求和操作

如果需要对DataFrame的所有列进行求和操作,可以使用DataFrame的apply()方法,结合sum()方法进行实现。

下面是一个示例,对DataFrame的所有列进行求和操作:

import pandas as pd

import numpy as np

data = {'name': ['Alice', 'Bob', 'Charlie', 'David', 'Ella'],

'age': [25, 32, 18, 47, 21],

'height': [161, 184, 173, 176, 162],

'weight': [55, 73, 66, 80, 60]}

df = pd.DataFrame(data)

result = df.apply(lambda x: x.sum())

print(result)

输出结果为:

name AliceBobCharlieDavidElla

age 143

height 856

weight 334

dtype: object

在上面的示例中,我们利用了lambda表达式对每一列进行求和操作,然后使用apply()方法将其应用到DataFrame的每一列中。

总结

本文介绍了如何利用Pandas对DataFrame进行列求和操作。通过sum()方法,可以对DataFrame指定的列进行求和操作,也可以使用apply()方法将sum()方法应用到所有列中。同时,我们也介绍了sum()方法的可选参数,可以用于控制求和操作的行为。

相关推荐

移动wifi怎么用?详细教程,让你快速上网
365bet体育线上

移动wifi怎么用?详细教程,让你快速上网

📅 07-04 👁️ 4955
梨树冬春管理要诀
3654687

梨树冬春管理要诀

📅 08-12 👁️ 734
《魔兽世界》鬼脚蟹刷新时间是多久 鬼脚蟹位置及抓取方法分享
查询95105105是哪里的电话
365bet娱乐网站

查询95105105是哪里的电话

📅 09-07 👁️ 9823