我有一个熊猫数据框,如下所示:
df =
COLUMN_NAME YEAR1 YEAR2 VALUE
0 Column1 2013 2014 0.042835
1 Column1 2014 2015 0.033600
2 Column2 2013 2014 0.004406
3 Column2 2014 2015 0.016900
...
其中,对于每个列_NAME,YEAR1和YEAR2,计算一个值。我希望对数据帧进行分组,使其在列_NAME上唯一,其中的列如下所示:
df_desired =
COLUMN_NAME Value_from_2013_2014 Value_from_2014_2015 ...
0 Column1 0.042835 0.033600
1 Column2 0.004406 0.016900
...
我可以用下面的代码实现我想要的,但是它创建了一个多索引列,我如何实现呢?谢谢你的帮助
pd.pivot_table(df, 'VALUE', 'COLUMN_NAME', ['YEAR1', 'YEAR2'])
YEAR1 2013 2014
YEAR2 2014 2015
COLUMN_NAME
Column1 0.042835 0.0336
Column2 0.004406 0.0169
您可以使用
to_flat_index
展平多索引列,然后使用map
到str
并添加前缀:如果我理解正确,您将获得所需的值,但不是所需的标签。如果是这样,可以使用
df_desired.columns = ['Value_from_2013_2014', 'Value_from_2014_2015']
更改列名相关问题 更多 >
编程相关推荐