Python 如何";“展平”;熊猫数据帧?
我有一个熊猫数据帧Python 如何";“展平”;熊猫数据帧?,python,pandas,Python,Pandas,我有一个熊猫数据帧df,如下所示: Expenses date manufacturer department 2021.01.03 Mercedes Service 541 Sales 879
df
,如下所示:
Expenses
date manufacturer department
2021.01.03 Mercedes Service 541
Sales 879
Marketing 134
2021.01.04 Mercedes Service 471
Sales 193
Marketing 302
2021.01.05 Mercedes Service 938
Sales 183
Marketing 193
df.columns.values.tolist()
['Expenses', 'date', 'manufacturer', 'department']
<class 'list'>
请注意,费用
的级别高于日期
、制造商
和部门
当我调用df.columns
时,我看到以下内容:
Index(['Expenses'], dtype='object)
我希望看到一个包含费用
、日期
、制造商
和部门
的列表。具体如下:
Expenses
date manufacturer department
2021.01.03 Mercedes Service 541
Sales 879
Marketing 134
2021.01.04 Mercedes Service 471
Sales 193
Marketing 302
2021.01.05 Mercedes Service 938
Sales 183
Marketing 193
df.columns.values.tolist()
['Expenses', 'date', 'manufacturer', 'department']
<class 'list'>
df.columns.values.tolist()
[“费用”、“日期”、“制造商”、“部门”]
如何“展平”此数据框,以便将费用
、日期
、制造商
和部门
都视为同一级别的列
提前谢谢 如果“日期”、“制造商”和“部门”是索引的一部分。这可能会帮助您:
df=df.reset_index()
其他标签是多索引的一部分。如果我了解您的预期输出(示例会有所帮助),您只需要df.columns=df.columns.get\u level\u value(0)
或df.to\u flat\u index()
Hi,您的表不清楚,您能用更好的格式吗?据我所知,“日期”、“制造商”、“部门”似乎是索引的一部分。重置索引会使所有内容处于相同的“级别”。问题是,如果我调用df['manufacturer'].shape()
,我会得到一个KeyError:'manufacturer'
。对不起,我不明白您需要什么。重置索引后,我将能够访问所有列。目前,我只能访问费用
。调用df['manufacturer'].shape()
会导致keyrorm:'manufacturer'
。其他“列”不被视为“列”。