Python Pivot\u表引发Pivot表中未使用的行的KeyError
我正在使用Pivot_表总结我的数据的一些信息。然而,我一直在获取pivot_表调用中未使用的列的Keyerror,我似乎无法找出错误所在。我尝试过其他职位提出的许多解决方案,但没有一个有效 所以,我真的需要一些专家的帮助 这是我的数据框:Python Pivot\u表引发Pivot表中未使用的行的KeyError,python,pandas,pandas-groupby,pivot-table,Python,Pandas,Pandas Groupby,Pivot Table,我正在使用Pivot_表总结我的数据的一些信息。然而,我一直在获取pivot_表调用中未使用的列的Keyerror,我似乎无法找出错误所在。我尝试过其他职位提出的许多解决方案,但没有一个有效 所以,我真的需要一些专家的帮助 这是我的数据框: H1 H2 H3 H4 H5 H6 H7 H8 H10 RA1 RB1, H2 2020-07-25 11:30 60 1764 RG1 RH1 RJ1 RA2 RB2, H
H1 H2 H3 H4 H5 H6 H7 H8 H10
RA1 RB1, H2 2020-07-25 11:30 60 1764 RG1 RH1 RJ1
RA2 RB2, H2 2020-07-25 11:30 60 1774 RG2 RH2 RJ2
RA3 RB3, H2 2020-07-25 11:30 60 1791 RG3 RH3 RJ3
RA4 RB4, H2 2020-07-25 11:30 35 1806 RG4 RH4 RJ4
RA5 RB1, H3 2020-07-25 12:30 35 1771 RG5 RH5 RJ5
RA6 RB2, H3 2020-07-25 12:45 60 1813 RG6 RH6 RJ6
RA7 RB3, H3 2020-07-25 13:00 60 1789 RG7 RH7 RJ7
RA8 RB4, H3 2020-07-25 13:00 60 1790 RG8 RH8 RJ8
RA9 RB1, H4 2020-07-25 13:00 60 1808 RG9 RH9 RJ9
RA10 RB2, H4 2020-07-25 14:00 60 1822 RG10 RH10 RJ10
这是我的密码:
import pandas as pd
import numpy as np
import os, shutil, inspect, xlsxwriter
from os import listdir
from os.path import isfile, join
class GetMyData():
def __init__(self, directory):
self.datafl = os.path.join(directory, 'data.xlsx')
self.pivotfl = os.path.join(directory, 'pivot.xlsx')
def getDataFrame(self):
try:
df = pd.DataFrame()
read_order = ('H1', 'H2', 'H3', 'H4', 'H5','H6', 'H7',\
'H8','H10')
# Read Dataframe.
df = pd.read_excel(self.datafl, usecols=read_order, index_col=None)
return (df)
except (Exception, FileNotFoundError, IOError) as e:
print("Function:", inspect.stack()[0][3], "Raised: ", e)
# Create Pivot Table
def createPivot(self):
try:
df = pd.DataFrame()
df = self.getDataFrame()
df['H3'] = pd.to_datetime(df['H3'], utc=False) - pd.to_timedelta(7, unit='d')
print (df)
# Summarize the data in Pivot table.
pivot = pd.pivot_table(df, index=['H1', pd.Grouper(key='H3', freq='W-MON')], columns='H10',\
margins=True, aggfunc={'H10':np.count_nonzero}).reset_index()
# Write Dataframe to Excel file.
df.to_excel(self.pivotfl, sheet_name='Result', startrow=0)
except (Exception, FileNotFoundError, IOError) as e:
print("Function:", inspect.stack()[0][3], "Raised: ", e)
if __name__ == "__main__":
data = GetMyData(os.getcwd())
data.createPivot()
当我运行此代码时,出现以下异常:
Function: createPivot Raised: 'H2'
正如我所说的,我已经尝试了很多方法,比如重置索引和其他解决方案,但它们似乎都不起作用
请让我知道,如果有任何其他我可以尝试或提供您的专家意见,以显示有意义的错误
非常感谢你的帮助
谢谢。能否提供一些示例输入数据和预期输出(无图像)?请看,谢谢!请注意,不鼓励在SO上使用数据/代码的图像。很抱歉粘贴图像。我减少了我的数据集并将其添加到原始帖子中。如果你能进一步帮助我,请告诉我。非常感谢你的帮助。