【发布时间】:2020-05-14 20:17:08
【问题描述】:
首先我使用 3 维列表创建了两个数据框。
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 = [df, df1]
result = pd.concat(frames)
当我运行上面的代码时,我得到了所需的连接 DataFrame。但是当我尝试使用 for 循环执行相同操作时,我遇到了错误。
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)
我得到的错误是:
TypeError: 无法连接 '' 类型的对象;只有 Series 和 DataFrame obj 有效
【问题讨论】:
-
for 循环中的 i 在哪里?和 frames 是一个空列表,而不是一个数据框。请再次检查您的代码?
-
您的连接列表和数据框。这不会工作
标签: python pandas list dataframe concatenation