检查数据帧(Python)中concat值的条件
假设我有一个数据帧 身份证件 B C D E 1. b1_干管 无效的 d_值 e_值 2. b2_干管 无效的 无效的 e_值检查数据帧(Python)中concat值的条件,python,pandas,dataframe,Python,Pandas,Dataframe,假设我有一个数据帧 身份证件 B C D E 1. b1_干管 无效的 d_值 e_值 2. b2_干管 无效的 无效的 e_值 按列'C'、'D'、'E'使用回填缺少的值,并选择第一列(此处C),然后添加到B列: df = df.replace('null', np.nan) df['B'] = df['B'] + ', ' + df[['C', 'D', 'E']].bfill(axis=1).iloc[:, 0] #selecting by colum name #df['B'] = df
按列
'C'、'D'、'E'
使用回填缺少的值,并选择第一列(此处C
),然后添加到B
列:
df = df.replace('null', np.nan)
df['B'] = df['B'] + ', ' + df[['C', 'D', 'E']].bfill(axis=1).iloc[:, 0]
#selecting by colum name
#df['B'] = df['B'] + ', ' + df[['C', 'D', 'E']].bfill(axis=1)['C']
print (df)
ID B C D E
0 1.0 b1_main, d_value NaN d_value e_value
1 2.0 b2_main, e_value NaN NaN e_value
如有可能,所有C、D、E
均由空值填充,可使用:
df = df.replace('null', np.nan)
s = df[['C', 'D', 'E']].bfill(axis=1)['C']
df['B'] = df['B'].str.cat(s, na_rep='', sep=', ').str.strip(' ,')