请考虑以下数据框架。
In [3]: idx = pd.MultiIndex.from_product([['2021-02-10', '2021-02-11', '2021-02-12'],
...: ['Orders', 'GMV', 'AOV']],
...: names=['Date', 'Metric'])
...: col = ['Yesterday', 'Yesterday-1', 'Difference', 'Difference-1']
...:
...: df = pd.DataFrame('-', idx, col)
...: print(df)
Yesterday Yesterday-1 Difference Difference-1
Date Metric
2021-02-10 Orders - - - -
GMV - - - -
AOV - - - -
2021-02-11 Orders - - - -
GMV - - - -
AOV - - - -
2021-02-12 Orders - - - -
GMV - - - -
AOV - - - -例如,我在昨天和昨天有一些值--1列,而Difference列需要采用如下格式:
df.loc['2021-02-11', 'Difference'] = df.loc['2021-02-11', 'Orders] - df.loc['2021-02-10', 'Orders]什么实际上不工作,我需要相同的每公制,我怎么做呢?我是否创建了for循环并使用iloc并遍历每个度量以填充差异列?谢谢!
发布于 2021-02-13 16:26:12
你应该清楚地编辑你的问题,但我认为你需要:
df['Difference'] = df['Yesterday'] - df.groupby(level=1)['Yesterday'].shift()https://stackoverflow.com/questions/66186915
复制相似问题