如何删除未命名的标题?

时间:2019-12-17 03:48:40

标签: python pandas dictionary

我能够将多个数据集读入字典,但是,我不断获得标题未命名的标题行。

           Unnamed: 0 Unnamed: 1 Unnamed: 2 Unnamed: 3 Unnamed: 4 Unnamed: 5  \
     0           year      month        day       hour     minute       WDIR   
     1           2016         01         01         00         00         15   
     2           2016         01         01         00         06         14   
     3           2016         01         01         00         12         12   
     4           2016         01         01         00         18         15   
     5           2016         01         01         00         24         19   
     6           2016         01         01         00         30         15   

如何摆脱它并使第0行成为标题?

这是我使用的代码:

 values = ['2015','2016','2017','2018']
 mother_data = {}
 keys = range(4)
 for i in keys:
     mother_data[i] = pd.read_csv('data/pcbf1h'+values[i]+'_df.csv', sep=",")

4 个答案:

答案 0 :(得分:0)

尝试使用header参数:

values = ['2015','2016','2017','2018']
mother_data = {}
keys = range(4)
for i in keys:
    mother_data[i] = pd.read_csv('data/pcbf1h'+values[i]+'_df.csv', sep=",", header=0)

答案 1 :(得分:0)

>>> next((i for i, v in enumerate(ls) if 'item5' in v), -1)
-1

答案 2 :(得分:0)

您可以这样解决

df.columns = df.iloc[0]  
df=df[1:]
df.rename_axis(columns=None).reset_index(drop=True) 

   year month day hour minute WDIR
0  2016    01  01   00     00   15
1  2016    01  01   00     06   14
2  2016    01  01   00     12   12
3  2016    01  01   00     18   15
4  2016    01  01   00     24   19
5  2016    01  01   00     30   15

答案 3 :(得分:0)

正如其他人所指出的那样,使用header可能是您需要的解决方案,尽管实际上取决于源数据,您实际上可能希望使用header=0(因为这是文件的第一行,所以{{ 1}}引用第二个。

此外,您的代码在Python中可以短很多:

header=1

请注意,“年”不必是字符串,也可以只使用整数,即mother_data = {} for year in ['2015', '2016', '2017', '2018']: mother_data[year] = pd.read_csv(f'data/pcbf1h{year}_df.csv', sep=',', header=0)

可能是大多数Python语言:

[2015, 2016, 2017, 2018]