所以我有了我的第一个数据框,以国家为标题,以感染和死亡值为副标题,

df
Dates       Antigua & Barbuda      Australia
          Infected      Dead      Infected   Dead
2020-01-22    0          0            0        0...
2020-01-23    0          0            0        0...
...

然后我有了第二个数据帧,

df_indicators
Dates       Location      indicator_1      indicator_2 .....
2020-04-24  Afghanistan      0                  0
2020-04-25  Afghanistan      0                  0
...
2020-04-24  Yemen            0                  0
2020-04-25  Yemen            0                  0

我想合并数据框,使指标列成为国家列的分标题,如df中的感染和死亡分标题.

我想制作的是这样的东西,

df_merge
Dates        Antigua & Barbuda
        Infected    Dead   indicator_1   indicator_2....
2020-04-24  0         0        0             0...

有太多的指标都被命名为不同的东西,我觉得我不能称它们为所有指标,所以不确定是否有一种方法可以轻松做到这一点.

提前感谢您的帮助!

推荐答案

因为有重复项,首先聚集mean,然后用DataFrame.swaplevelreshape Series.unstack:

df2 = df_indicators.groupby(['Dates','Location']).mean().unstack().swaplevel(0,1,axis=1)

或与DataFrame.pivot_table:

df2 = (df.pivot_table(index='Dates', columns='Location', aggfunc='mean')
         .swaplevel(0,1,axis=1))

最后一次连接排序为MultiIndex in columns:

df = pd.concat([df, df2], axis=1).sort_index(axis=1)

Python相关问答推荐

从dict的列中分钟

PMMLPipeline._ fit()需要2到3个位置参数,但给出了4个位置参数

将pandas Dataframe转换为3D numpy矩阵

无法使用requests或Selenium抓取一个href链接

try 将一行连接到Tensorflow中的矩阵

梯度下降:简化要素集的运行时间比原始要素集长

形状弃用警告与组合多边形和多边形如何解决

调用decorator返回原始函数的输出

使用Python查找、替换和调整PDF中的图像'

Polars将相同的自定义函数应用于组中的多个列,

重置PD帧中的值

为什么在FastAPI中创建与数据库的连接时需要使用生成器?

Numpyro AR(1)均值切换模型抽样不一致性

Pandas—堆栈多索引头,但不包括第一列

使用Python异步地持久跟踪用户输入

提取最内层嵌套链接

如何获取包含`try`外部堆栈的`__traceback__`属性的异常

解析CSV文件以将详细信息添加到XML文件

如何在Django查询集中生成带有值列表的带注释的字段?

为什么这个正则表达式没有捕获最后一次输入?