我正在学习python 2.7中的pandas。我正在学习pandas中的merge()方法。
以下是我创建数据框的代码:
man xargs
,输出是:
import pandas as pd
eibi = {'A': ['aaa','bbb','ccc','eee','fff'],
'B': ['bbb','aaa','ccc','fff','eee']
}
df = pd.DataFrame(eibi)
print df
我想将数据框合并到数据框本身的行中。目标是如果B列中的单元格与A列中的单元格匹配,则将该单元格移动到C列和D列。
我希望下面的数据框能清楚说明我预期的数据框架。
A B
0 aaa bbb
1 bbb aaa
2 ccc ddd
3 eee fff
4 fff eee
我试图复制df数据帧然后使用merge()方法并使用左合并来合并它。这是我的代码:
A B C D
0 aaa bbb bbb aaa
2 ccc ddd
3 eee fff fff eee
,输出为:
fd = df
new_dataframe = pd.merge(left=df, right=fd, left_on='A', right_on='B', how='left')
print new_dataframe
我的问题是“如何删除索引1和4?”和“还有另一种方法来获得预期的结果吗?”
答案 0 :(得分:1)
因为您的问题是如何删除索引1和4
output[~pd.DataFrame(np.sort(output.values)).duplicated()]
Out[816]:
A_x B_x A_y B_y
0 aaa bbb bbb aaa
2 ccc ddd
3 eee fff fff eee