gpt4 book ai didi

python - Pandas :如果是同一年,则将一列乘以另一列

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

我有 2 个数据框,一个按月采样,另一个按年采样。

如果是同一年,我想将月度数据框中一列的值乘以年度数据框中一列的值。我该怎么做?

df1 = pd.DataFrame({'column1' : [1, 1, 1, 2, 2]}, index=['2018 - 01', '2018 - 02', '2018 - 03', '2019 - 01', '2019 - 02'])
df1

column1
2018 - 01 1
2018 - 02 1
2018 - 03 1
2019 - 01 2
2019 - 02 2

df2 = pd.DataFrame({'columnX' : [2, 3]}, index=['2018', '2019'])
df2

columnX
2018 2
2019 3

预期结果:

               column1
2018 - 01 2
2018 - 02 2
2018 - 03 2
2019 - 01 6
2019 - 02 6

最佳答案

您可以创建多个索引,然后执行 mul(multiple)

df1['mul']=df1.set_index(df1.index.str[:4],append=True).mul(df2.columnX,level=1,axis=0).values
df1
Out[123]:
column1 mul
2018 - 01 1 2
2018 - 02 1 2
2018 - 03 1 2
2019 - 01 2 6
2019 - 02 2 6

关于python - Pandas :如果是同一年,则将一列乘以另一列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49944893/

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