如何将两个数据框与Pandas合并?

时间:2019-12-03 14:20:47

标签: python pandas dataframe merge

我正在使用Pandas合并从Psychopy获得的两个数据框。

y = ["key_resp_0.keys", "key_resp_0.rt"] #some columns I want in my final dataframe
df = pd.DataFrame(myData)
columns = df.columns.values.tolist() 
df2 = df.reindex(columns = y, fill_value='')
df3 = pd.merge(df2,df)

这是我得到的错误:

type object argument after * must be an iterable, not itertools.imap

我检查了我拥有哪种类型的数据框:

print(type(df))
print(type(df2))

这是结果:

<class 'pandas.core.frame.DataFrame'> #df
<class 'pandas.core.frame.DataFrame'> #df2

在其他帖子中找到一些信息之后,我还尝试将dfdf2转换为元组,然后执行merge

df = df.apply(tuple) 
df2 = df2.apply(tuple)
df3 = pd.merge(df2,df)

然后我得到了另一个错误

can not merge DataFrame with instance of type <class 'pandas.core.series.Series'>

您知道合并这两个数据框的方法是什么吗?

2 个答案:

答案 0 :(得分:0)

选中此available on Github。从字面上看,我每隔几天就会问这个问题。官方thread也会对此进行介绍。 RTFM兄弟。

答案 1 :(得分:0)

我认为我设法找到了解决方案。

在我的数据帧df中,可能有一个空字符串(当将df作为.csv文件打开时,一个单元格仅包含[])。现在,我为该单元分配了一个零值,并且合并功能似乎正常工作。