[英]Pandas: assign categorical column based on string values in another column
[英]Assign values in pandas column based on another column
我有两个数据框,如下所示:
一种
Timestamp C1 C2 C3
1 0 0 0
2 0 0 0
3 0 0 0
4 0 0 0
5 0 0 0
6 0 0 0
7 0 0 0
和B
Timestamp C1 C2 C3
2 0 0 0
3 v1 v2 v3
4 v4 v5 v6
7 0 0 0
我想合并两个数据集,并根据时间戳列将A中的零替换为B中的值,并有一个新的A数据框,如下所示:
Timestamp C1 C2 C3
1 0 0 0
2 0 0 0
3 v1 v2 v3
4 v4 v5 v6
5 0 0 0
6 0 0 0
7 0 0 0
我认为需要mask
的替换0
到NaN
以s combine_first
:
#convert columns to indices if necessary
#A = A.set_index('Timestamp')
#B = B.set_index('Timestamp')
df = B.mask(B == 0).combine_first(A)
#alternative
#df = B.replace({0:np.nan}).combine_first(A)
print (df)
C1 C2 C3
Timestamp
1 0 0 0
2 0 0 0
3 v1 v2 v3
4 v4 v5 v6
5 0 0 0
6 0 0 0
7 0 0 0
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.