【发布时间】:2017-02-20 17:19:53
【问题描述】:
我在以我想要的方式比较两个数据帧时遇到了一些麻烦:
df1=pd.DataFrame({"code1": ['A', 'B', 'C', 'C','D'],
"code2": ["1", "0", "1", "1","1"],
"column1":['value1','value2','value3','value4','value5']})
code1 code2 column1
0 A 1 value1
1 B 0 value2
2 C 1 value3
3 C 1 value4
4 D 1 value5
df2 = pd.DataFrame({"code1": ['A','B','C'],
"code2": ["0", "0", "1"],
"column2":['valuex','valuey','valuez']})
code1 code2 column2
0 A 0 valuex
1 B 0 valuey
2 C 1 valuez
这是我想比较的两个数据框。我需要做类似的事情
df1[['code1','code2']].isin(df2[['code1','code2']])
以得到结果为目的:
code1 code2 column1
0 B 0 value2
1 C 1 value3
2 C 1 value4
我想在 df1 和 df2 以及 df1 的其他列中保留具有相同“code1”和“code2”的行。 你知道最好的方法吗?我想避免循环,我需要它是有效的。 提前非常感谢您
【问题讨论】:
标签: python python-2.7 pandas dataframe