我相信已经回答了这两个问题,但是我目前一次都遇到了这两个错误,我不确定是什么原因造成的。
# Get data
fileName = 'https://acmsmlblob.blob.core.windows.net/acmsdata/resultExpandedGlbFriendlyName_1.ss_TOP_10000.csv'
raw = pd.read_csv(fileName, ",", header=None)
df = raw.copy()
df['datetime'] = pd.to_datetime(df['StartDateId'], format='%m/%d/%Y %H:%M:%S %p')
df['dow'] = df['datetime'].dt.dayofweek
df['tod'] = df['datetime'].dt.hour
df = df[['dow', 'tod', 'Owner', 'TenantId', 'SplitedPolicy']]
当我运行上面的代码时,会产生这些错误,并且由于我完全不知道Python的工作方式,因此我难以理解为什么会抛出它们。
TypeError: an integer is required
During handling of the above exception, another exception occurred:
KeyError: 'StartDateId'
代码中是否有这种情况
答案 0 :(得分:2)
您告诉熊猫忽略csv文件上的标头:
raw = pd.read_csv(fileName, ",", header=None)
因此,它不知道列名,而是想要一个整数索引。该文件具有标题行,因此请不要忽略它,您应该可以使用标题名:
raw = pd.read_csv(fileName, ",")