【问题标题】:How can i set second row as a name of columns in DataFrame如何将第二行设置为 DataFrame 中的列名
【发布时间】:2020-08-27 09:00:44
【问题描述】:

我如何从这个 DataFrame 中获得: (尝试df.drop([0]), df.iloc[1:] 但不起作用)

     A B C
  0  1 2 3
  1  X Y Z

这个:

     1 2 3
  0  X Y Z

【问题讨论】:

标签: python excel pandas dataframe


【解决方案1】:

分两步,

df.columns = df.iloc[0]

df = df.iloc[1:].reset_index(drop=True)


print(df)

   1  2  3
0  X  Y  Z

更好的方法是在您的读取参数中使用skiprows

from io import StringIO
d = """   A B C
    1 2 3
    X Y Z"""

df = pd.read_csv(StringIO(d),sep='\s+',skiprows=1)
print(df)

   1  2  3
0  X  Y  Z

【讨论】:

    【解决方案2】:

    IIUC、DataFrame.transposeDataFrame.set_index

    df.T.set_index(0).T.reset_index(drop=True).rename_axis(columns=None)
       1  2  3
    0  X  Y  Z
    

    【讨论】:

      猜你喜欢
      • 2019-02-27
      • 2017-09-27
      • 2021-11-22
      • 2019-10-27
      • 2020-11-05
      • 1970-01-01
      • 1970-01-01
      • 2015-07-05
      • 2018-12-14
      相关资源
      最近更新 更多