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循环中的什么地方?帧是一个空列表,而不是数据帧。请再次检查您的代码?您的连接列表和数据帧。哪个不行