使用datetime索引添加到数据帧

时间:2017-09-21 12:19:16

标签: python pandas dataframe insert

我正在尝试这样做,因为当我循环遍历一系列事物时,我可以在一个数据框中添加从某个日期的每个仓库收到的数量。

当我尝试以下操作时,它不起作用:

if inv['prod'] not in self.inventory.columns:
    ## add row in
    self.inventory[inv['prod']] = 0
    idx = inv['time_stamp'].split(' ')[0]
    if idx not in self.inventory.index:
        self.inventory[idx, :] = 0

    self.inventory[idx, inv['prod']] += inv['qty'] 

我基本上需要它根据每个产品添加一个列,然后是它到达/出售的日期。我知道这不是非常pythonic但只是提前知道我提前知道日期或产品。

数据框最后会是这样的:

Date         InventoryA       InventoryB
2017-01-01       10              NaN
2017-01-02       NaN             NaN
2017-01-03       NaN              5
2017-01-04       NaN              5
2017-01-05       -5              NaN
2017-01-06       NaN             -10
2017-01-07       15              NaN
2017-01-08       NaN             NaN
2017-01-09      -20              NaN

1 个答案:

答案 0 :(得分:3)

假设您的初始数据框如此:

{ path: "**",  redirectTo: "/error" },

现在你要添加一个新值(不确定你想要它的形式,但是它在数据帧中):

data = {'InventoryA': [10, np.nan, -5]}
df = pd.DataFrame(data, index=pd.to_datetime(['2017-01-01', '2017-01-03', '2017-01-05']))