我目前正在python 2.7中学习熊猫。我正在学习熊猫的merge()方法。
这是我创建数据框的代码:
import pandas as pd
eibi = {'A': ['aaa','bbb','ccc','eee','fff'],
'B': ['bbb','aaa','ccc','fff','eee']
}
df = pd.DataFrame(eibi)
print df
输出是:
A B
0 aaa bbb
1 bbb aaa
2 ccc ddd
3 eee fff
4 fff eee
我想按数据框本身中的行合并数据框。目标是如果B列中的单元格与A列中的单元格匹配,则将该单元格移至C列和D列。
我希望下面的数据框可以使我的预期数据框更清楚。
A B C D
0 aaa bbb bbb aaa
2 ccc ddd
3 eee fff fff eee
我试图复制df数据框,然后使用merge()方法并使用左合并将其合并。这是我的代码:
fd = df
new_dataframe = pd.merge(left=df, right=fd, left_on='A', right_on='B', how='left')
print new_dataframe
输出为:
A_x B_x A_y B_y
0 aaa bbb bbb aaa
1 bbb aaa aaa bbb
2 ccc ddd
3 eee fff fff eee
4 fff eee eee fff
我的问题是“如何删除索引1和4?” 和“是否有其他方法可以获得预期的结果?”
由于您的问题是如何删除索引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
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句