簡體   English   中英

有條件地將一列的值替換為 python 中的另一列

[英]Conditionally replacing the value of one column with another in python

這或多或少是一個 dataframe 的樣子:

ID,WinnerID
    
5863, 13463
4506, 20345
4514, 21012
4543, 20476

我有另一個文件,其中包含 ID 列中的一些 ID,我想將其替換為 WinnerID

Grade   ID, etc.
6, 4543, bla bla bla
6, 44519, bla bla bla
6, 44483, bla bla bla
6, 5863, bla bla bla
6, 44532, bla bla bla
6, 5863, bla bla bla
6, 44496, bla bla bla
6, 4543, bla bla bla

我想到了某種合並? 在 sas 我會做一些邏輯,比如

if in1 and not in2 then ID = WinnerID 

在合並期間,但我不太熟悉 python

我希望結果數據是:

Grade   ID, etc.
6, 20476, bla bla bla
6, 44519, bla bla bla
6, 44483, bla bla bla
6, 13463, bla bla bla
6, 44532, bla bla bla
6, 13463, bla bla bla
6, 44496, bla bla bla
6, 20476, bla bla bla

我已經看到 R 和 SQL 的解決方案,但沒有看到 python 的解決方案

鑒於

>>> df1 
     ID  WinnerID
0  5863     13463
1  4506     20345
2  4514     21012
3  4543     20476
>>> df2 
   Grade   Date
0      6   4543
1      6  44519
2      6  44483
3      6   5863
4      6  44532
5      6   5863
6      6  44496
7      6   4543

您可以使用

df2['Date'] = df2['Date'].replace(dict(df1.values))

Output:

>>> df2
   Grade   Date
0      6  20476
1      6  44519
2      6  44483
3      6  13463
4      6  44532
5      6  13463
6      6  44496
7      6  20476

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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