python - 如何在 Pandas 中仅按 YYYY 对列中的 YYYY-MM-DD 等列值求和?
问题描述
与此类似的问题(如何使用熊猫对与给定条件匹配的列中的值求和?)但在我的情况下(https://imgur.com/a/aQNJjpp)我的日期格式为 YYYY-MM-DD我想在第 4 列中总结每年的所有值。(任务是创建一个函数“Rain_year”,当给定输入年份时,它会为您提供当年的总降雨量)
代码:
def rain_year(a):
df.loc['a-01-01':'a-12-31']
df.loc[df['Dygn'] ==a, 'Nederbörd(mm)'].sum()
return row["Nederbörd(mm)"].sum()
rain_year("1995")
print(rain_year("1995"))
但这并没有给我任何东西(既没有值也没有错误消息)。
解决方案
您可以过滤您想要的年份的数据,然后像这样对新组求和:
def rain_year(df,year):
year_hold = df[df["date column"].dt.strftime("%Y")==year]
return year_hold["Nederbörd(mm)"].sum()
print(rain_year(df,"1995"))
假设您的日期列是日期时间,这应该返回类似于您想要的内容。如果不是,您需要将该列转换为这样的日期时间。
df["date column"] = pd.to_datetime(df["date column"])
推荐阅读
- assembly - 为什么编译器在寄存器分配中构造图?
- c# - 动态按钮 c# 和 Asp.net 的问题
- powerapps - 如何使用powerapp在列表中显示仅显示一次的下拉值
- c# - 当我关闭并重新打开窗口时,WPF数据网格有时不显示数据
- apache-kafka - kafka 连接异常,复制因子:3 大于可用代理:1
- react-native - Native Base Tabs内容透明背景
- javascript - JS计算器项目帮助需要将几个操作串在一起并得到正确的答案
- java - 适配器和 RecyclerView 的问题
- godot - 如何使godot无限背景滚动
- python - openpyxl 数据框过滤