簡體   English   中英

比較兩個數據框中的值

[英]Compare values in two dataframes

我有兩個數據框。 當 data1['col1'] 中的值與 data2['col1'] 中的值匹配時,我想在 data1['col2'] 中應用字符串更改。 我沒有任何錯誤,但更改不適用。

輸入樣本:

data1 = {"col1": ["001", "002", "004"], "col2" : ["SL", "SL", "SL"]}
df1 = pd.DataFrame(data1)
data2  = {"col1": ["009", "004", "025"]}
df2 = pd.DataFrame(data2)

print(df1)
print(df2)

col1 col2
0  001   SL
1  002   SL
2  004   SL

col1
0  009
1  004
2  025

for idx, val in df1["col1"].iteritems():
    for idx2, val2 in df2["col1"].iteritems():
        if val == val2:
            df1["col2"][idx] = "SL MATCH"

預計 Output:

print(df1)

col1      col2
0  001        SL
1  002        SL
2  004  SL MATCH

使用Series.isin來檢查另一列的值:

df1.loc[df1['col1'].isin(df2['col1']), "col2"] = "SL MATCH"
print (df1)
  col1      col2
0  001        SL
1  002        SL
2  004  SL MATCH

或者:

df1["col2"] = np.where(df1['col1'].isin(df2['col1']), "SL MATCH", df1["col2"])

暫無
暫無

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

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