簡體   English   中英

根據Pandas中其他列的值將值分配給新列

[英]Assigning value to a new column based on the values of other columns in Pandas

以下是數據幀的子集:

id  words  A   B   C   D  E  
1   new    1       1   
2   good   1  
3   star            1
4   never                  
5   final   

如果所有其他變量(列)的值均為“ null”,我想定義一個新變量(稱為FF)作為新列並為其分配1。 新的數據框將如下所示:

id  words  A   B   C   D  E  FF
1   new    1       1   
2   good   1  
3   star            1
4   never                     1                
5   final                     1

我如何使用python和Pandas做到這一點? 謝謝。

您可以定義一個按行應用於數據框的函數:

def fill_if_nan(row):
    if row[['A', 'B', 'C', 'D', 'E']].isnull().all():
        return 1

    return None

df['FF'] = df.apply(fill_if_nan, axis=1)

或更優雅的基於numpy的解決方案:

df['FF'] = np.where(df[['A', 'B', 'C', 'D', 'E']].isnull().all(1), 1, np.nan)

暫無
暫無

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

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