问题:我有两个数据框,想要删除它们之间的任何重复项/部分重复项。
DF1 DF2
**Phrases** **Phrases**
Little Red Little Red Corvette
Grow Your Grow Your Beans
James Bond James Dean
Tom Brady
我想从 DF1 中删除“Little Red”和“Grow Your”短语,然后将两个 DF 合并,使最终产品如下所示:
DF3
Little Red Corvette
Grow Your Beans
James Bond
James Dean
Tom Brady
请注意,如果所有单词都出现在 DF2 中的短语中(例如 Little Red Vs. Little Red Corvette),我只想从 DF1 中删除短语。如果“James Dean”出现在 DF2 中,我不想从 DF1 中删除“James Bond”。
我在下面找到了这个解决方案。
目前,它还不是很优雅,但它可以工作。
import pandas as pd
df1 = pd.DataFrame(['Little Red', 'Grow Your', 'James Bond', 'Tom Brady'])
df2 = pd.DataFrame(['Little Red Corvette', 'Grow Your Beans', 'James Dean'])
# For each element of df1, if we found a left(df2, len(df1)) = df1, we
# apply df1 = df2
# Remark that the column name is 0
for i in range(int(df1.count())):
for j in range(int(df2.count())):
if df1.loc[i, 0] == df2.loc[j, 0][:len(df1.loc[i, 0])]:
df1.loc[i, 0] = df2.loc[j, 0]
# Finaly we merge df1 and df2 by union of the keys.
# Here the column name is 0
df3 = df2.merge(df1, how='outer', on=0, sort=True, copy=False)
DataFrame df3 就是您所需要的。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)