为什么我会收到“NameError: name 'df2' is not defined”错误?

时间:2021-06-25 14:03:11

标签: python pandas dataframe jupyter-notebook

你好,我分离了一个大的 24 小时数据帧,因为每小时包含超过 500 的三列数据,我想像这样并排合并小时数据: enter image description here

实际上它们都来自同一个数据帧,但我分开了。这是我的代码:

...
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

我无法理解错误来自何处以及为什么......请告诉我。我该如何解决?我应该换一种方式吗?

1 个答案:

答案 0 :(得分:0)

你得到这个是因为你没有在任何地方创建 df2。你可以这样做:

...
grouped = dataframeone.groupby(dataframeone.Hour)
df_list = ['df'+str(i) for i in range(1,26)]
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)