从数据框中删除顶行
Remove top row from a dataframe
我有一个如下所示的数据框:
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)
但没有成功 欢迎任何帮助
你可以试试:
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
df.drop(row_start, row_end)
这会有所帮助
您可以利用参数 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
您可以尝试使用切片。
df = df[1:]
这将删除数据框的第一行。
我有一个如下所示的数据框:
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)
但没有成功 欢迎任何帮助
你可以试试:
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
df.drop(row_start, row_end)
这会有所帮助
您可以利用参数 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
您可以尝试使用切片。
df = df[1:]
这将删除数据框的第一行。