合并在不同列中拆分的值会覆盖0值

时间:2015-07-14 09:11:14

标签: python pandas merge overwrite

我有一个数据框,其中一些值分为不同的列

enter image description here

然后我想合并所有这些,所以结果应该像

enter image description here

我检查了pandas教程,但我找不到类似的东西

可能不是很困难,但我正忙着时间

2 个答案:

答案 0 :(得分:0)

您可以使用.max()并通过指定axis=1

逐行应用它
import pandas as pd

# your data
# ===========================
c1 = [0,0,0,0,2,7]
c2 = [0,0,8,4,0,0]
c3 = [5,3,0,0,0,0]
df = pd.DataFrame(dict(C1=c1,C2=c2,C3=c3))

print(df)


   C1  C2  C3
0   0   0   5
1   0   0   3
2   0   8   0
3   0   4   0
4   2   0   0
5   7   0   0

# processing
# ===========================

df.max(axis=1)

0    5
1    3
2    8
3    4
4    2
5    7
dtype: int64

答案 1 :(得分:0)

您只需拨打sum并按行排序:

In [134]:
df.sum(axis=1)

Out[134]:
0    5
1    3
2    8
3    4
4    2
5    7
dtype: int64

使用sum逐行处理任意数量的0