簡體   English   中英

比較 python 中的兩個 dataframe 列

[英]Compare two dataframe columns in python

我想比較兩個 dataframe 列和它們的值。 如果匹配則為 1,如果不匹配則為 0。

我怎樣才能做到這一點。? dataframe 具有所有相同的列名。 我需要檢查這些值是否匹配。

我假設您使用的是 pandas。 在您的特定情況下,您可以這樣做:

#Setup
df1 = pd.DataFrame({'col' : [5,4,2,6,1,7]})
df2 = pd.DataFrame({'col' : [3,4,0,6,1,5]})

#Relevant code
(df1["col"] == df2["col"]).astype("int8")

Output

0    0
1    1
2    0
3    1
4    1
5    0
Name: col, dtype: int8

讓我們將df1df2視為目標數據框,將col視為感興趣的列。

import pandas as pd 

def match_columns(df1, df2, col):
    match_list = [] 
    data1_list = df1[col].tolist()
    data2_list = df2[col].tolist() 

    for i in range(len(data1_list)):
        if str(data1_list[i]) ==  str(data2_list[i]):
            match_list.append(0) # matching values marked as '0'
        else:
            match_list.append(1) # non-matching values marked as '1'
    return match_list


if __name__ == "__main__":

    df1 = pd.read_csv('/path/to/csv1', header=0) # row 0 => column headers
    df2 = pd.read_csv('/path/to/csv2', header=0) # row 0 => column headers

    match_list = match_columns(df1,df2, 'TV1')   # match_list for 'TV1'
    print(match_list)

暫無
暫無

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

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