合并2只熊猫数据帧不起作用

时间:2018-04-25 13:39:20

标签: python pandas

我有2个大小为31789x7和31789x3的数据帧。我想创建一个31789x10数据帧。这原则上与

一起使用
BitVec

半秒内的人工数据。但根据我的数据,concat没有在10分钟内完成。如果我“手动”使用:

df3 = pd.concat([df1, df2], axis=1)
它崩溃了:

for c in df2:
    df1[c] = df2[c]

这是什么问题? (ignore_index = True无效)

2 个答案:

答案 0 :(得分:1)

您可以尝试使用reindex并仅指定值

df1=df1.reindex(columns=list(df2)+list(df1))
df1[list(df2)]=df2.values

答案 1 :(得分:1)

首先想法是创建默认RangeIndex

df3 = pd.concat([df1.reset_index(drop=True), 
                 df2.reset_index(drop=True)], axis=1)
df1.reset_index(drop=True, inplace=True)
df2.reset_index(drop=True, inplace=True)

for c in df2:
    df1[c] = df2[c]

相同类型的所有列(例如integer s),请使用numpy.hstack

c = df1.columns.append(df2.columns)
df = pd.DataFrame(np.hstack((df1.values, df2.values)), columns=c)