熊猫-如何填写多个日期/实体?

时间:2020-04-18 12:24:23

标签: python python-3.x pandas dataframe data-manipulation

我正在尝试使用熊猫填充库存数据。我遇到的问题是我的数据框具有多个代码(Dim_Assets.Index)。在某种程度上,我认为需要一个分区。下面的df1是我现在拥有的数据帧。 df2是所需的输出。

import pandas as pd

d1 = {'AssetDate': ['1/1/2020', '1/3/2020', '1/1/2020', '1/3/2020'], 'Dim_Assets.Index': [1,1,2,2],'AssetPrice': [50, 56, 100, 96]}
df1 = pd.DataFrame(data=d1)
df1['AssetDate']=pd.to_datetime(df1['AssetDate'], format='%m/%d/%Y')


d2 = {'AssetDate': ['1/1/2020', '1/2/2020', '1/3/2020', '1/1/2020', '1/2/2020', '1/3/2020'], 'Dim_Assets.Index': [1,1,1,2,2,2],'AssetPrice': [50, 50, 56, 100, 100, 96]}
df2 = pd.DataFrame(data=d2)
df2['AssetDate']=pd.to_datetime(df2['AssetDate'], format='%m/%d/%Y')

如何获得所需的df2?

1 个答案:

答案 0 :(得分:0)

回填不会将行添加到数据框中。它是fillna的别名。因此,如果您想回填某些内容,则需要添加带有日期和空值的行以进行回填。然后,您可以按Dim_Assets.Index分组,并按组回填。

df.gropuby('Dim_Assets.Index').bfill(...)