【问题标题】:How to change the name of columns of a Pandas dataframe when it was saved with "pickle"?使用“pickle”保存时如何更改 Pandas 数据框的列名?
【发布时间】:2016-11-01 14:37:46
【问题描述】:

我用“pickle”保存了一个 Pandas DataFrame。当我调用它时,它看起来像图 A(没关系)。但是当我想更改列的名称时,它看起来像图 B。 我究竟做错了什么?更改列名称的其他方法是什么?

图A

图B

import pandas as pd

df = pd.read_pickle('/home/myfile')
df = pd.DataFrame(df, columns=('AWA', 'REM', 'S1', 'S2', 'SWS', 'ALL')) 
df

【问题讨论】:

    标签: python-3.x numpy pickle sklearn-pandas


    【解决方案1】:

    read.pickle 已经返回一个 DataFrame。 您正在尝试从现有的 DataFrame 创建一个 DataFrame,只是使用重命名的列。没必要……

    如您要重命名所有列:

    df.columns = ['AWA', 'REM','S1','S2','SWS','ALL']
    

    一般可以通过以下方式重命名特定列:

    df.rename(columns={'REM':'NewColumnName'},inplace=True)
    

    Pandas docs

    【讨论】:

    • 然后,如何在不创建新 DataFrame 的情况下将每个值乘以 100?
    【解决方案2】:

    我刚刚解决了。

    df = pd.read_pickle('/home/myfile')
    
    df1 = pd.DataFrame(df.values*100)
    df1.index='Feature' + (df1.index+1).astype(str) 
    df1.columns=('AWA', 'REM', 'S1', 'S2', 'SWS', 'ALL')
    
    df1
    

    【讨论】:

      猜你喜欢
      • 2018-09-08
      • 2012-03-19
      • 1970-01-01
      • 2022-08-14
      • 1970-01-01
      • 2018-07-24
      • 2020-02-17
      • 2020-07-18
      • 1970-01-01
      相关资源
      最近更新 更多