我有3个数据帧。它们中的每一个都有如下所示的列:

我使用下面的代码来连接它们:
cond = [df1.col8_S1 == df2.col8_S1, df1.col8_S2 == df2.col8_S2]
df = df1.join(df2,cond,how ='inner').drop('df1.col8_S1','df1.col8_S2')
cond = [df.col8_S1 == df3.col8_S1, df.col8_S2 == df3.col8_S2]
df4 = df.join(df3,cond,how ='inner').drop('df3.col8_S1','df3.col8_S2')我正在将数据帧写入csv文件;但是,由于它们从col1到col7具有相同的列,因此由于列重复而导致写入失败。如何删除重复的列而不指定它们的名称。
发布于 2020-05-19 01:21:37
只需对join使用列名,而不是显式地使用equal op。
cond = ['col8_S1', 'col8_S2']
df = df1.join(df2, cond, how ='inner')
cond = ['col8_S1', 'col8_S2']
df4 = df.join(df3, cond, how ='inner')https://stackoverflow.com/questions/61875134
复制相似问题