簡體   English   中英

如果一個dataframe值存在於另一個dataframe中,則從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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM