Python 数据帧连接问题

Python 数据帧连接问题,python,pandas,list,dataframe,concatenation,Python,Pandas,List,Dataframe,Concatenation,首先,我使用三维列表创建了两个数据帧。 import pandas as pd import numpy as np list= [[[1,2,3],[4,5,6],[7,8,9]],[[10,11,12], [13,14,15], [16,17,18]],[[19,20,21],[22,23,24], [25,26,27]]] narray = np.array(list) df = pd.DataFrame.from_records(narray) df1 = pd.DataFrame.

首先,我使用三维列表创建了两个数据帧。

import pandas as pd
import numpy as np
list= [[[1,2,3],[4,5,6],[7,8,9]],[[10,11,12], [13,14,15], [16,17,18]],[[19,20,21],[22,23,24], 
[25,26,27]]]
narray = np.array(list)
df = pd.DataFrame.from_records(narray)
df1  = pd.DataFrame.from_records(narray)
frames = []
for i in range(2):
    list= [[[1,2,3],[4,5,6],[7,8,9]],[[10,11,12], [13,14,15], [16,17,18]],[[19,20,21],[22,23,24],[25,26,27]]]
    narray = np.array(list)
    df = pd.DataFrame.from_records(narray)
    frames = [frames, df]
result = pd.concat(frames)
然后我使用:

frames = [df, df1]
result = pd.concat(frames)
当我运行上述代码时,我得到了所需的连接数据帧。但当我尝试使用for循环执行相同操作时,我遇到了一个错误。

import pandas as pd
import numpy as np
list= [[[1,2,3],[4,5,6],[7,8,9]],[[10,11,12], [13,14,15], [16,17,18]],[[19,20,21],[22,23,24], 
[25,26,27]]]
narray = np.array(list)
df = pd.DataFrame.from_records(narray)
df1  = pd.DataFrame.from_records(narray)
frames = []
for i in range(2):
    list= [[[1,2,3],[4,5,6],[7,8,9]],[[10,11,12], [13,14,15], [16,17,18]],[[19,20,21],[22,23,24],[25,26,27]]]
    narray = np.array(list)
    df = pd.DataFrame.from_records(narray)
    frames = [frames, df]
result = pd.concat(frames)
我得到的错误是:

frames = [df, df1]
result = pd.concat(frames)
TypeError:无法连接类型为“”的对象;只有Series和DataFrame OBJ有效


尝试此操作-附加到帧而不是指定

for i in range(2):
    list= [[[1,2,3],[4,5,6],[7,8,9]],[[10,11,12], [13,14,15], [16,17,18]],[[19,20,21], 
          [22,23,24],[25,26,27]]]
    narray = np.array(list)
    df = pd.DataFrame.from_records(narray)
frames.append(df)
result = pd.concat(frames)

尝试此操作-附加到帧而不是指定

for i in range(2):
    list= [[[1,2,3],[4,5,6],[7,8,9]],[[10,11,12], [13,14,15], [16,17,18]],[[19,20,21], 
          [22,23,24],[25,26,27]]]
    narray = np.array(list)
    df = pd.DataFrame.from_records(narray)
frames.append(df)
result = pd.concat(frames)

您的问题来自附加到列表的项目:

frames = []
for i in range(2):
    list= [[[1,2,3],[4,5,6],[7,8,9]],[[10,11,12], [13,14,15], [16,17,18]],[[19,20,21],[22,23,24],[25,26,27]]]
    narray = np.array(list)
    df = pd.DataFrame.from_records(narray)
    frames = [frames, df] # WRONG!
result = pd.concat(frames)
相反,尝试用
frames+=[df]
frames替换
frames=[frames,df]
。追加(df)


您的问题来自附加到列表的项目:

frames = []
for i in range(2):
    list= [[[1,2,3],[4,5,6],[7,8,9]],[[10,11,12], [13,14,15], [16,17,18]],[[19,20,21],[22,23,24],[25,26,27]]]
    narray = np.array(list)
    df = pd.DataFrame.from_records(narray)
    frames = [frames, df] # WRONG!
result = pd.concat(frames)
相反,尝试用
frames+=[df]
frames替换
frames=[frames,df]
。追加(df)


我在for循环中的什么地方?帧是一个空列表,而不是数据帧。请再次检查您的代码?您的连接列表和数据帧。哪一个行不通我在for循环中的什么地方?帧是一个空列表,而不是数据帧。请再次检查您的代码?您的连接列表和数据帧。哪个不行