![](/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.