gpt4 book ai didi

python - 如何在 Pandas 中按年和月加入 2 个数据框?

转载 作者:行者123 更新时间:2023-11-28 20:01:04 28 4
gpt4 key购买 nike

我有 2 个数据框,我想在不创建额外列的情况下根据日期的月份和年份加入它们:

例子:

df1:

date_1      value_1
2017-1-15 20
2017-1-31 30
2016-2-15 20

df2:

date_2      value_2
2017-1-1 30

然后得到如下结果,即按月和年合并。

date_1      value_1 value_2
2017-1-15 20 30
2017-1-31 30 30
2016-2-15 20

最佳答案

这是一个基本但有效的解决方案:

res = pd.merge(df1.assign(grouper=df1['date_1'].dt.to_period('M')),
df2.assign(grouper=df2['date_2'].dt.to_period('M')),
how='left', on='grouper')

print(res)

date_1 value_1 grouper date_2 value_2
0 2017-01-15 20 2017-01 2017-01-01 30.0
1 2017-01-31 30 2017-01 2017-01-01 30.0
2 2016-02-15 20 2016-02 NaT NaN

然后您可以删除不需要的列:

res = res[['date_1', 'value_1', 'value_2']]

关于python - 如何在 Pandas 中按年和月加入 2 个数据框?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51992291/

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