簡體   English   中英

加入數據框中的多列

[英]Joining multiple columns in a dataframe

我正在處理一個數據框,我需要將多列合並為一列。 狗的名字在不同的列中(doggo、floofer、pupper 和 puppo),我希望能夠將它們組合在一個新的列名“dog_type”下,並選擇具有值的那些。 'doggo'列下的'doggo'應該在新列'dog_type'下返回相同的值。 先感謝您。

[更新] 從下面@Elda 的回答中得到提示,這就是我打算實現的目標。 例如,我需要幫助來選擇列“doggo”的值具有“doggo”值的位置。 謝謝大家的幫助。

import pandas as pd
df = pd.DataFrame({'doggo': ['None', 'None', 'None', 'doggo'],
                   'floofer': ['None', 'floofer', 'None', 'None'],
                    'pupper':['None', 'None', 'None', 'pupper'],
                    'puppo':['None', 'None', 'None', 'None']})

df['dog_type'] = df[df.columns[0:]].apply(lambda x: ','.join(x.dropna().astype(str)),
    axis=1)
df   

你可以這樣做:

 import pandas as pd
    import numpy as np
    
    df = pd.DataFrame({'doggo': ['None', 'None', 'None', 'doggo'],
                       'floofer': ['None', 'floofer', 'None', 'None'],
                        'pupper':['None', 'None', 'None', 'pupper'],
                        'puppo':['None', 'None', 'None', 'None']})
    
    df[0:4].replace('None', np.nan, inplace=True)
    
    df['dog_type'] = df[df.columns[0:]].apply(lambda x: ','.join(x.dropna().astype(str)),
    axis=1)
    
    df

輸出:

在此處輸入圖片說明

暫無
暫無

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

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