gpt4 book ai didi

python - 特定年份的 Pandas 数据框总和

转载 作者:太空宇宙 更新时间:2023-11-03 20:02:24 25 4
gpt4 key购买 nike

我刚刚开始使用 Pandas 进行分析工作。

我在 Pandas 中有一个超过 200 万行的数据框,假设它称为 DF。我需要创建一个变量,显示名为“总记录”的列的总和,但按年份将其分开,所以可以说,一个变量代表 2017 年,另一个变量代表 2018 年,另一个变量代表 2019 年。问题是,我的 DATE 列的格式如下:1/20/2018有没有类似SQL语法的东西:

Select Sum("Total Records") 
From DF
Where date like '%2018';

我尝试使用 df.query('date == 2018')['Total Records'].sum(),但它给了我一个语法错误。

假设 DF 看起来像这样:

Date      | Total Records
1-20-2019 | 100
3-12-2018 | 50
5-14-2019 | 100
3-10-2018 | 20

我希望它输出这样的变量

TotalRecords2018 = 70;
TotalRecords2019 = 200;

最佳答案

方法一:推荐的方法是将“日期”列的类型转换为日期时间。

类似

df['日期'] = df['日期'].astype('datetime64')

然后分隔年份并应用聚合“总和”

或者

方法 2:分割字符串

如果要保留数据类型,请根据“-”分割字符串。

df['日', '月', '年'] = df.Date.split("-",expand=True)

使用新列“year”进行分组和求和。

df.groupby('年份")['总记录'].sum()

关于python - 特定年份的 Pandas 数据框总和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59164569/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com