[英]how to copy values from one column into another column based on conditions of two different columns in pandas?
Hi I am trying to copy values from one column to another column based on conditions.您好我正在尝试根据条件将值从一列复制到另一列。 But no luck for it.
但没有运气。
Code:代码:
import pandas as pd
df1 = pd.read_csv('file.txt',sep='\t')
id_array = list(df1['ID_1'].unique())
df1['id2_in_id1?'] = df1['ID_2'].apply(lambda a : 'Yes' if a in id_array else 'No')#was trying to create condition for copy
Input:输入:
ID_1 ID_2 branchID fill?
ABC1 1 yes
DAC1 ABC1 no
TAC1 ABC1 no
MAK1 ABC1 no
TBG1 ABC1 no
DEF1 2 no
VAX1 DEF1 no
Expected Output:预期 Output:
ID_1 ID_2 branchID smallbrancid
ABC1 1
DAC1 ABC1 1
TAC1 ABC1 1
MAK1 ABC1 1
TBG1 ABC1 1
DEF1 2
VAX1 DEF1
DO with two mask
+ ffill
做两个
mask
+ ffill
df['smallbrancid']=df.branchID.mask(df.branchID.eq('')).ffill().mask(df.branchID.ne(''),'')
df
Out[37]:
ID_1 ID_2 branchID smallbrancid
0 ABC1 - 1 -
1 DAC1 ABC1 - 1
2 TAC1 ABC1 - 1
3 MAK1 ABC1 - 1
4 TBG1 ABC1 - 1
5 DEF1 - 2 -
6 VAX1 DEF1 - 2
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.