我已经抓取了一些html数据,并用漂亮的汤读到了熊猫里。
不幸的是,由于html的结构,pandas列标题是列表的嵌套列表,我不希望这样做。
这就是我所拥有的:
headers = list(df.columns.values)
print(headers)
[('Year:', 'Length:'), ('2019', '12 Months'), ('2018', '12 Months'), ('2017', '12 Months'), ('2016', '12 Months')]
我只希望第一个列表成为列标题:
['Year:', '2019', '2018', '2017', '2016']
在下面的循环代码中,我可以隔离出我想要的第一个列表:
for sublist in headers:
print(sublist[0])
Year:
2019
2018
2017
2016
但是如何分配此循环的输出以成为新的pandas列标题?
非常感谢!
答案 0 :(得分:2)
我们有droplevel
df=df.droplevel(axis=1,level=1)