python - 重命名未堆叠数据透视表中的 pandas 列值

标签 python pandas rename

我有 pandas 数据透视表 merge2 ,如下所示:

   Site   TripDate       Volume    Early_Vol  Percent_Vol
0  024l 2004-12-02  1117.134948  1117.134948     0.000000
1  024l 2005-05-07   390.980708  1117.134948    -0.650015
2  024l 2006-10-07   321.110175  1117.134948    -0.712559
3  024l 2007-10-13   527.631767  1117.134948    -0.527692
4  024l 2008-02-02   597.165065  1117.134948    -0.465449

然后我将 merge2 子集到 sub1

sub1 = merge2[['Site','TripDate','Percent_Vol']]
sub1= sub1.set_index(['Site','TripDate'])

sub1 看起来像:

             Percent_Vol
Site TripDate               
024l 2004-12-02     0.000000
     2005-05-07    -0.650015
     2006-10-07    -0.712559
     2007-10-13    -0.527692
     2008-02-02    -0.465449

然后我将 sub1 解压到 t 中,如下所示:

           Percent_Vol                                                
Site              024l      029l      033l 035l_r    035l_s    041r_r   
TripDate                                                                
2004-06-01         NaN       NaN       NaN    NaN       NaN       NaN   
2004-11-13         NaN       NaN       NaN    NaN       NaN       NaN   
2004-12-02    0.000000  0.000000  0.000000    0.0  0.000000  0.000000   
2005-05-07   -0.650015 -0.290539 -0.300276   -1.0 -0.075511 -0.298801   
2006-10-07   -0.712559 -0.769020 -0.393304   -1.0 -0.520052 -0.284686  

似乎我在 t 中的列名称有两个级别(即 Percent_VolSite),而且我只有 站点。有没有办法将列名称更改为 Site

最佳答案

试试这个:

t.columns = t.columns.droplevel()

关于python - 重命名未堆叠数据透视表中的 pandas 列值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39067839/

相关文章:

python - Django 的霰弹枪?

python - Psycopg2:将 CSV 数据复制到具有额外列值的表

mysql - 在 MySQL 中重命名表的列名

python - 在 Django 教程中什么文件或模块实际生成 "It worked"?

python - Pandas/Datetime 舍入错误(舍入到 10 秒)

python - pandas to_csv ,唯一记录数量减少

python - 如何使用对应字典重命名 pd.value_counts() 索引

Windows 上的 git 重命名问题

c++ - 在 C++ 中重命名一个类

python - 将我的打印输出成对返回为元组?