如何获得 pandas 列中元素总和-ag捕鱼王app官网

如何获得 pandas 列中元素总和

作者:迹忆客 最近更新:2024/04/22 浏览次数:

我们将介绍如何获取 pandas dataframe 列的元素总和,以及使用 groupby 计算累积和的方法,以及基于其他列值数据的条件来得到列和的方法。


获取 pandas dataframe 列和的方法

首先,我们使用 numpy 库创建一个随机数组,然后使用 sum() 函数获取每个列的总和。

import numpy as np
import pandas as pd
df = pd.dataframe(np.random.randint(0, 10, size=(10, 4)), columns=list("1234"))
print(df)
total = df["1"].sum()
print("column 1 sum:", total)
total = df["2"].sum()
print("column 2 sum:", total)
total = df["3"].sum()
print("column 3 sum:", total)
total = df["4"].sum()
print("column 4 sum:", total)

如果运行此代码,你将获得以下输出(你的情况下值可能不同),

   1  2  3  4
0  2  2  3  8
1  9  4  3  1
2  8  5  6  0
3  9  5  7  4
4  2  7  3  7
5  9  4  1  3
6  6  7  7  3
7  0  4  2  8
8  0  6  6  4
9  5  8  7  2
column 1 sum: 50
column 2 sum: 52
column 3 sum: 45
column 4 sum: 40

groupby 的累加总和

我们可以使用 groupby 方法来获得累计和。考虑以下带有 dataframefruitsale 列的 dataframe

import pandas as pd
df = pd.dataframe(
    {
        "date": ["08/09/2018", "10/09/2018", "08/09/2018", "10/09/2018"],
        "fruit": ["apple", "apple", "banana", "banana"],
        "sale": [34, 12, 22, 27],
    }
)

如果我们要计算每个水果的累计销售总额,对于每个日期我们可以这样计算,

import pandas as pd
df = pd.dataframe(
    {
        "date": ["08/09/2018", "10/09/2018", "08/09/2018", "10/09/2018"],
        "fruit": ["apple", "apple", "banana", "banana"],
        "sale": [34, 12, 22, 27],
    }
)
print(df.groupby(by=["fruit", "date"]).sum().groupby(level=[0]).cumsum())

运行上述代码后,我们将获得以下输出,该输出显示每个日期的水果累积总和:

fruit  date         sale
apple  08/09/2018    34
       10/09/2018    46
banana 08/09/2018    22
       10/09/2018    49

基于其他列值的条件获取列总和的方法

此方法提供了在给定条件为 true 时获取总和的功能,以及在条件为 false 时用给定值替换总和的功能。考虑以下代码

import numpy as np
import pandas as pd
df = pd.dataframe(np.random.randn(5, 3), columns=list("xyz"))
df["sum"] = df.loc[df["x"] > 0, ["x", "y"]].sum(axis=1)
df["sum"].fillna(0, inplace=true)
print(df)

在上面的代码中,我们将新列总和添加到 dataframe 中,这是第一列 ['x','y'] 的和,如果 ['x'] 大于 1,否则我们将和替换为 0

运行代码后,我们将获得以下输出(根据你的情况,值可能会更改)。

          x         y         z       sum
0 -1.067619  1.053494  0.179490  0.000000
1 -0.349935  0.531465 -1.350914  0.000000
2 -1.650904  1.534314  1.773287  0.000000
3  2.486195  0.800890 -0.132991  3.287085
4  1.581747 -0.667217 -0.182038  0.914530

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

pandas read_csv()函数

发布时间:2024/04/24 浏览次数:254 分类:python

pandas read_csv()函数将指定的逗号分隔值(csv)文件读取到 dataframe 中。

pandas 追加数据到 csv 中

发布时间:2024/04/24 浏览次数:352 分类:python

本教程演示了如何在追加模式下使用 to_csv()向现有的 csv 文件添加数据。

pandas 多列合并

发布时间:2024/04/24 浏览次数:628 分类:python

本教程介绍了如何在 pandas 中使用 dataframe.merge()方法合并两个 dataframes。

pandas loc vs iloc

发布时间:2024/04/24 浏览次数:837 分类:python

本教程介绍了如何使用 python 中的 loc 和 iloc 从 pandas dataframe 中过滤数据。

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便
网站地图