![](/img/trans.png)
[英]Python Pandas checking for a value if it exists from one DataFrame to another DataFrame
[英]Pandas assign value if value from one dataframe exists in another dataframe
所以,我有2个数据框。 一个有位置列表(国家和城市),另一个有相应信息的位置(例如坐标)。
第一个,our_data: our_data
第二个,db: db
我想要的是,我想检查our_data中的国家是否在db中共同存在。 问题是,国家是从 Twitter 刮下来的,而且很乱,所以基本上我想检查字符串中的任何单词是否对应于另一个 dataframe 中的公共数据集。 另外,如果有匹配项,我想将 te latlng从db保存为our_data中的另一列。
到目前为止,我尝试以某种方式遍历列,但大多不成功(这是我第一次使用 Pandas,我正在做一个 Twitter 刮刀并希望为每条推文使用 map)。 我得到的关闭是这样的:
our_data = our_data.assign(test = our_data.countries.isin(db.common))
并得到这个结果:结果
我试过了
our_data = our_data.assign(test = db.latlng if (our_data.countries.isin(db.common)) else "False")
并得到这个错误:
ValueError: The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all()
我应该如何处理这个?
你需要一个左连接来做到这一点:
import pandas as pd
result = pd.merge(our_data, db, how="left", left_on="countries", right_on="common")
你会得到一个 dataframe 有 5 列:国家、主要位置、通用、纬度资本 1。 如果未找到匹配项,则 common、latlng 和 capitla1 列包含 NaN 值。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.