为什么读取这里的excel文件后,返回的DataFrame没有多级索引,要怎么才让他改为原本excel的多级索引格式
结构化结构化结构化~~~。
适度调整
tmp = df[(df.金额 > 0)]
对列名为金额的列进行筛选,并将得到的dataframe存入tmp中
解决方案:
针对该问题,这里提供以下几个步骤:
步骤1:利用pandas
读取Excel表并处理成DataFrame格式,通常会通过print
来检查一下是否顺利读取。
import pandas as pd
total_data = pd.read_excel('/path/to/excel_file.xlsx', header=[0, 1])
total_data = pd.DataFrame(total_data)
print(total_data)
其中,header=[0, 1]
表示读取Excel文件时将前两行作为列索引。这样便能将Excel文件的多级索引读取进来,但是返回的数据并不是多级索引的DataFrame。
步骤2:将读入的数据按照多级索引重新设置索引,并保存为新的DataFrame。
new_data = total_data.set_index(keys=['Column_1', 'Column_2'])
其中,Column_1
和Column_2
为Excel文件中的列名,需要将其替换为具体的列名。这样就能保留Excel文件的多级索引了。
完整代码如下:
import pandas as pd
total_data = pd.read_excel('/path/to/excel_file.xlsx', header=[0, 1])
total_data = pd.DataFrame(total_data)
print(total_data)
new_data = total_data.set_index(keys=['Column_1', 'Column_2'])
print(new_data)
其中,/path/to/excel_file.xlsx
需要替换为实际的Excel文件路径,Column_1
和Column_2
需要替换为实际的列名。