【发布时间】:2019-02-02 14:51:33
【问题描述】:
我想将大约国家名称上的 2 个数据框与合并为的合并,但我收到以下错误:
TypeError:'NoneType' 对象不可调用
请看下面的说明性代码:
cl = {'Country' : ["Brazil", "US", "Russia"], 'BL?':['No', 'No','Yes']}
clist = pd.DataFrame.from_dict(cl)
cd = {'Country' : ["Braizl", "us", "Rusia"]}
cdata = pd.DataFrame.from_dict(cd)
clist = clist.sort_values('Country')
cdata = cdata.sort_values('Country')
cdata = pd.merge_asof(cdata,clist,on='Country')
预期结果将合并两个 dfs,而 cdata df 将具有“BL?”带有 YES/NO 值的列。
提前谢谢你!
【问题讨论】:
-
inplace=True使 sort_values 返回None,因为您指定了就地执行此操作的方法 -
是的,我得到一个非类型对象在删除就地后现在不可调用
-
我已经编辑了代码
-
我认为
merge_asof仅适用于整数。如果您不想找到最接近的字符串,则可以使用 levenshtein 距离,但我不知道 Pandas 库中有任何实现。 -
如何将它应用到 2 个字典?