【发布时间】:2021-09-08 22:13:39
【问题描述】:
您好,我分离了一个大的 24 小时 DataFrame,因为每个小时包含超过 500 个三列的数据,我想像这样并排合并小时数据:
实际上它们都来自同一个数据框,但我分开了。这是我的代码:
...
grouped = dataframeone.groupby(dataframeone.Hour)
df_list = [df1,df2,df3,df4,df5,df6,df7,df8,df9,df10,df11,df12,df13,df14,df15,df16,df17,df18,df19,df20,df21,df22,df23,df24,df25]
df_list[0] = grouped.get_group(0)
df_list[0] = df_list[0].drop(columns=['Hour'])
for j in range (1,24):
df_list[j] = grouped.get_group(j)
df_list[j]= df_list[j].drop(columns=['Hour'])
df= pd.concat([df_list[j-1],df_list[j]], axis=1)
print(df)
但我收到此错误:
NameError Traceback (most recent call last)
<ipython-input-47-ff832fd92e63> in <module>
24 grouped = dataframeone.groupby(dataframeone.Hour)
---> 25 df_list = [df1,df2,df3,df4,df5,df6,df7,df8,df9,df10,df11,df12,df13,df14,df15,df16,df17,df18,df19,df20,df21,df22,df23,df24,df25]
26 df_list[0] = grouped.get_group(0)
27 df_list[0] = df_list[0].drop(columns=['Hour'])
NameError: name 'df2' is not defined
我不明白错误来自哪里以及为什么......请告诉我。我该如何解决?我应该使用其他方式吗?
【问题讨论】:
-
显然
df2实际上并不存在。你是如何创建它的? -
在 for 循环中像这样:当循环开始 df_list 时,循环以 `df_list[j] => df_list[1] => df2 = grouped.get_group(1) ...` 开始[j] 取值为 df2 并在此部分创建。
-
将您的创建代码放入您的问题中。
-
告诉我们你是如何创建它的,它似乎不存在于你分享的代码中
-
正如您收到的错误消息清楚地表明,第 25 行产生了错误,即:
df_list = [df1,df2,df3,df4,df5,df6,df7,df8,df9,df10,df11,df12,df13,df14,df15,df16,df17,df18,df19,df20,df21,df22,df23,df24,df25]。但是,您尚未提供代码部分,其中df1-df25已创建。因此,我们无法判断df2有什么问题。
标签: python pandas dataframe jupyter-notebook