在 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
我有一个 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