我正在使用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
在其他帖子中找到一些信息之后,我还尝试将df
和df2
转换为元组,然后执行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'>
您知道合并这两个数据框的方法是什么吗?
答案 0 :(得分:0)
选中此available on Github。从字面上看,我每隔几天就会问这个问题。官方thread也会对此进行介绍。 RTFM
兄弟。
答案 1 :(得分:0)
我认为我设法找到了解决方案。
在我的数据帧df
中,可能有一个空字符串(当将df
作为.csv文件打开时,一个单元格仅包含[]
)。现在,我为该单元分配了一个零值,并且合并功能似乎正常工作。