【问题标题】:Converting Pandas header to string type将 Pandas 标头转换为字符串类型
【发布时间】:2020-12-27 06:14:25
【问题描述】:

我有一个从 CSV 读取的数据框:

df = pd.read_csv(csv_path, header = None)

默认情况下,Pandas 将标头 (df.columns) 分配为 [0, 1, 2, ...],类型为 int64
将其转换为 str 类型的最佳方法是什么,以便 df.columns 导致 ['0', '1', '2',...](即类型 str)?
目前,我能想到的最好方法是df.columns = list(map(str, df.columns))
不幸的是,df.astype(str) 只影响值而不影响列名

【问题讨论】:

    标签: python pandas dataframe csv


    【解决方案1】:

    您可以将astype(str) 与这样的列名一起使用:

    df.columns = df.columns.astype(str)
    

    例子:

    In [2472]: l = [1,2]
    In [2473]: l1 = [2,3]
    
    In [2475]: df = pd.DataFrame([l, l1])
    
    In [2476]: df
    Out[2476]: 
       0  1
    0  1  2
    1  2  3
    
    In [2480]: df.columns = df.columns.astype(str)
    
    In [2482]: df.columns
    Out[2482]: Index(['0', '1'], dtype='object')
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-04-25
      • 2023-03-09
      • 2021-02-07
      • 2016-11-14
      • 1970-01-01
      • 2016-04-20
      • 2020-05-21
      • 1970-01-01
      相关资源
      最近更新 更多