我是Python新手,我正在尝试将感知到的数据捕获到一个“总体列表””。这就是我所做的:
# Initialize data frame
df1 = pd.read_csv(
"/Users/ME/Desktop/Frontend/sensor_points.csv",
dtype=object,
)
df = pd.concat([df1], axis=0)
df["Date/Time"] = pd.to_datetime(df["Date/Time"], format="%Y-%m-%d %H:%M")
df.index = df["Date/Time"]
df.drop("Date/Time", 1, inplace=True)
totalList = []
for month in df.groupby(df.index.month):
dailyList = []
for day in month[1].groupby(month[1].index.day):
dailyList.append(day[1])
totalList.append(dailyList)
totalList = np.array(totalList)
因此,我的问题是,代码认为循环的月份中的月份值将始终迭代1,2,…,12,循环的天将迭代1,2,…,31。但这些都不能保证。因为我的CSV不包含所有月份和日期的数据,所以对于日历选择器上的某些日期,我会得到一个
'index-out-of-range' error for totalList
我知道这是因为实际上,totalist的形状很大程度上取决于输入数据(CSV文件)的内容。假设该文件只包含3个月(例如1月、5月和12月)的记录,那么len(totalist)==3
有人知道我如何解决这个问题吗
您的问题将是从您的网站访问Totalist。(您正在尝试访问列表中不存在的索引)您应该只包含一个try/except子句或方法来处理缺少的值。请参见以下示例:
希望这有帮助。另一种方法是预先确定列表/数组的大小,并填充一些伪变量,然后在访问中处理它
相关问题 更多 >
编程相关推荐