擅长:python、mysql、java
<p>为了避免选择列,我使用了<a href="https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.melt.html" rel="nofollow noreferrer">melt</a>:</p>
<pre><code>M = (df.copy()
.melt(id_vars='ID')
.loc[lambda x:x['value'].astype('str').str.contains('b')]
.drop('variable',axis=1))
pd.merge(df,M,how='left',on='ID').rename({'value':'b'},axis=1)
D col0 col1 col2 col3 col4 col5 b
0 1 jack a/h t/m w/n y/h 56 NaN
1 2 sam z/n b/w NaN NaN 93 b/w
2 3 john b/i y/d p/d NaN 33 b/i
</code></pre>