比较 Pandas 中的 excel 数据集
数据挖掘
Python
熊猫
擅长
2022-02-15 14:29:52
1个回答
pandas.DataFrame.join如果你知道这是如何工作的,你可以做一个。
-- 编辑:merge显然是一个更好的选择:见最后的例子。
我认为您需要outer加入Keyword.
这应该给出一个新的 DataFrame,其中包含Keyword两个表中的唯一行。某些条目可能为 NULL/None。这表明在旧表或新表中,关键字不存在,您应该将其视为新关键字或已从列表中删除的关键字。
适当地重命名新表中的列,然后在列之间应用一个智能值,考虑到某些值是 NULL。
您可以在 Excel 中做类似的事情:https ://superuser.com/questions/1023123/how-to-simulate-a-full-outer-join-in-excel
编辑:
简约示例:
import pandas as pd
old = pd.DataFrame({'keyword': ['football', 'soccer', 'rugby'], 'position': [2, 1, 3]})
new = pd.DataFrame({'keyword': ['hockey', 'rugby', 'soccer'], 'position': [3, 2, 1]})
old.keyword = old.keyword.astype(str)
new.keyword = new.keyword.astype(str)
old.set_index(['keyword'])
new.set_index(['keyword'])
old = old.rename(columns={"position": "position_old"})
new = new.rename(columns={"position": "position_new"})
print(old)
print(new)
merged = pd.merge(old, new, how='outer', on='keyword')
print(merged)
输出:
keyword position_old
0 football 2
1 soccer 1
2 rugby 3
keyword position_new
0 hockey 3
1 rugby 2
2 soccer 1
keyword position_old position_new
0 football 2.0 NaN
1 soccer 1.0 1.0
2 rugby 3.0 2.0
3 hockey NaN 3.0
其它你可能感兴趣的问题

