在 python 中将多列合并为一列

Merge multiple column in one column in python

我有一个 pandas 数据框,其中第一列的总和在第二列中完成,第二列和第三列相同:

    Column1  Column2  Column3  
 0     3                         
 1     2                         
 2     1       6                 
 3             7        13  

我现在要做的是将所有列 (1,2,3) 合并到一个列 A(忽略总值),如下所示:

     Column A      
 0      3                         
 1      2                         
 2      1                        
 3      7  

我怎样才能最好地解决这个问题?这是下面提到的代码。

import pandas as pd
 
data = {'Column1':[3, 2, 1, ""],
        'Column2': ["", "", "6", "7"],
        'Column3':["", "", "", 13]}

abc = pd.DataFrame(data)

abc

abc.to_dict()

我的输出:

{'Column1': {0: 3, 1: 2, 2: 1, 3: ''},
 'Column2': {0: '', 1: '', 2: '6', 3: '7'},
 'Column3': {0: '', 1: '', 2: '', 3: 13}}

将缺失值替换为空字符串,然后填充缺失值和 select 第一列,最后根据需要转换为整数并转换为一列 DataFrame:

data = {'Column1':[3, 2, 1, ""],
        'Column2': ["", "", "6", "7"],
        'Column3':["", "", "", 13]}

df = pd.DataFrame(data)

df1 = df.replace('', np.nan).bfill(axis=1).iloc[:, 0].astype(int).to_frame('Column A')
print (df1)
   Column A
0         3
1         2
2         1
3         7