![](/img/trans.png)
[英]Pandas assign value if value from one dataframe exists in another dataframe
[英]If one dataframe value exists in another dataframe, then get a value from the dataframe
我是 Python 的初學者,這是我第一次使用 pandas。我想創建一個代碼來分析我的數據,但它不起作用。
我有 2 個數據框:第一個有關於用戶如何評價電影的信息('user id','movie id','rating'),第二個有關於用戶的信息('user id','gender', '年齡')
在 pandas 的幫助下,我希望我的代碼執行一個循環,以便對於第一 dataframe 中的每一行,您可以從第一 dataframe 中當前行中相同用戶 ID 的第二個 dataframe 中獲取性別。
下面是我的數據集和代碼的簡化版本
d1 = {'user id': [4, 2, 7]}
df1 = pd.DataFrame(data=d1)
d2 = {'user id': [1, 2, 3, 4, 5, 6, 7], 'gender': ['M', 'F', 'M', 'F', 'F', 'F', 'M']}
df2 = pd.DataFrame(data=d2)
for index, row in data.iterrows():
if row["user id"].isin.(df2.user id) and df2["gender"] == "M":
//execute some code
if row["user id"].isin.(df2.user id) and df2["gender"] == "F":
//execute some code
就我的代碼而言,這是如此,但我不知道如何編碼才能獲得指定行的性別。
謝謝您的幫助!
for
循環更慢。 您可以使用df.merge
避免它
In [2142]: df1.merge(df2, on='user id')
Out[2142]:
user id gender
0 4 F
1 2 F
2 7 M
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.