dataframe多重行索引怎么再插入一行

小宇
  • 423

如下图:我想在每个location下面的date里再插入一行,计算6月2日与1日的差值
image.png

回复
阅读 1.6k
1 个回答
✓ 已被采纳

image.png

def insert(df):
    level_0 = df.index.values[0][0] # 取得第一列索引名
    diff = df.loc[(level_0, '2020-06-02'), 'new_cases'] - df.loc[(level_0, '2020-06-01'), 'new_cases'] # 计算差值
    df.loc[(level_0, 'diff'), 'new_cases'] = diff # 插入值
    return df

data.groupby('location').apply(insert).droplevel(0)

image.png

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
宣传栏