串联熊猫的选择列,而忽略列中的空白

时间:2018-11-25 01:01:29

标签: python pandas

我有一个看起来像这样的数据框。

key A1 A2 A3 BX CX DX
1   X1 Y1    B1 C1 D1
2   X2    Z2 B2 C2 D2
3   X3       B3 C3 D3
4   X4       B4 C4 D4
5            B5 C5 D5

我正在尝试形成一个新列'NC',该列由A1,A2和A3列连接而成。如果某列中没有条目,则需要向前移动下一列。分隔符可以是“,”或“ _”

最终的df看起来像

key A1 A2 A3 BX CX DX NC
1   X1 Y1    B1 C1 D1 X1_Y1
2   X2    Z2 B2 C2 D2 X2_Z2
3   X3       B3 C3 D3 X3
4   X4       B4 C4 D4 X4
5            B5 C5 D5 

如果A1-A3中没有条目,那么NC中的条目将保留为空白。我看过SO中的其他帖子,并尝试了其他方法,但我似乎无法正确解决。 A1-A3列中的条目是浮点数,有时在数字(X2.0)之后为0。我也想删除小数点和0。希望有人能为您提供更多的知识。

编辑Q以更改数据框中的数据类型

key A1  A2  A3  BX CX DX 
1   1.0 2.0     B1 C1 D1
2   3    4      B2 C2 D2
3   7.0         B3 C3 D3
4   5   6.0 7.0 B4 C4 D4
5               B5 C5 D5

新df外观

key A1  A2  A3  BX CX DX NC
1   1.0 2.0     B1 C1 D1 1_2
2   3    4      B2 C2 D2 3_4
3   7.0         B3 C3 D3 7
4   5   6.0 7.0 B4 C4 D4 5_6_7
5               B5 C5 D5 

1 个答案:

答案 0 :(得分:2)

您可以使用$HIVE_HOME来过滤列,并使用filter来加入:

agg