我已经导入了一个.xlsx文件,它有多个标签(大约3百万行),其中列标题只存在于第一个标签上,剩下的标签上只有没有标题的数据。
import pandas as pd
#load in .xlsx with multiple tabs as a dataframe
filepath = "Consumption_20221111_testdata.xlsx"
df_dict = pd.read_excel(filepath, sheet_name=None, header=None)
df_all = pd.concat(df_dict.values(), ignore_index=True)
df_all = df_all.drop(columns=df_all.columns[2]) #remove column "PERIOD_ID"
df_all = df_all.drop(columns=df_all.columns[2]) #remove column "DATA_FLAG"
df_all = df_all.drop(df_all.index[-1]) #remove the last row (details of query run on SQL database that produced .xlsx which is the last tab of the .xlsx)
df_all = df_all.dropna(how='all') #remove columns that are all 'NaN'
df_all[1] = pd.to_datetime(df_all[1][1]) #convert column from object to datetime
print(df_all)
print(df_all.dtypes)
我的 Dataframe 有一个列和行的索引,但是日期列现在有一个日期而不是标题?
| | 第0页|一个|四个|
| - -|- -|- -|- -|
| 第0页|参考编号|2022年10月12日|缺点|
| 一个|参考1| 2022年10月12日|0.262英寸|
| 2个|参考2| 2022年10月12日|零点二五九|
| 三个|参考2| 2022年10月12日|0.405分|
我需要按参考和日期对数据进行分组,聚合消耗量以进行逐月比较,但首先我需要有一个可以参考的数据框架!
df_all["Month"] = df_all[1].dt.month
df_all = df_all.groupby(by=[1, "Month"], as_index=False).agg({"CONS":sum})
df_all
导致;
KeyError:“列['CONS']不存在”
1条答案
按热度按时间xyhw6mcr1#
下面是一个使用方法链接的命题:
#输出: