全部, 我有一个看起来像这样的数据框:
level_0 level_1 Repo Averages for 27 Jul 2018
0 Business Date Instrument Ccy
1 27/07/2018 GC_AUSTRIA_SUB_10YR EUR
2 27/07/2018 R_RAGB_1.15_10/18 EUR
3 27/07/2018 R_RAGB_4.35_03/19 EUR
4 27/07/2018 R_RAGB_1.95_06/19 EUR
我试图摆脱第一行,只保留
Business Date Instrument Ccy
0 27/07/2018 GC_AUSTRIA_SUB_10YR EUR
1 27/07/2018 R_RAGB_1.15_10/18 EUR
2 27/07/2018 R_RAGB_4.35_03/19 EUR
3 27/07/2018 R_RAGB_1.95_06/19 EUR
我尝试了df.columns.droplevel(0),但没有成功,没有任何帮助比欢迎了
非常感谢
答案 0 :(得分:2)
您可以尝试:
df.columns = df.iloc[0]
df = df.reindex(df.index.drop(0)).reset_index(drop=True)
df.columns.name = None
输出:
Business Date Instrument Ccy
0 27/07/2018 GC_AUSTRIA_SUB_10YR EUR
1 27/07/2018 R_RAGB_1.15_10/18 EUR
2 27/07/2018 R_RAGB_4.35_03/19 EUR
3 27/07/2018 R_RAGB_1.95_06/19 EUR
答案 1 :(得分:1)
injectIntl
这会有所帮助
答案 2 :(得分:1)
您可以利用参数header
(Read here more about the header parameter in pandas)。
假设您具有以下数据集
df = pd.read_csv("Prices.csv")
print(df)
输出
0 1 2 3 4
0 DATA SESSAO HORA PRECO_PT PRECO_ES
1 1/1/2020 0 1 41,88 41,88
2 1/1/2020 0 2 38,60 38,60
3 1/1/2020 0 3 36,55 36,55
通过像这样简单地传递header = 0
df = pd.read_csv("Prices.csv", header=0)
print(df)
您将得到想要的东西
DATA SESSAO HORA PRECO_PT PRECO_ES
0 1/1/2009 0 1 55,01 55,01
1 1/1/2009 0 2 56,13 56,13
2 1/1/2009 0 3 50,59 50,59
3 1/1/2009 0 4 45,83 45,83
4 1/1/2009 0 5 42,07 41,90
答案 3 :(得分:1)
您可以尝试使用切片。
df = df[1:]
这将删除数据框的第一行。