擅长:python、mysql、java
<p>使用<a href="https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.mask.html" rel="nofollow noreferrer">^{<cd1>}</a>根据与字典键关联的列屏蔽与字典值关联的列:</p>
<pre><code>keys, vals = dct.keys(), dct.values()
df1 = df[['patient_id']].join(df[vals].mask(df[keys].eq(0).to_numpy()))
</code></pre>
<p>结果:</p>
<pre><code>print(df1)
patient_id delirium_date syncope_date tia_date
0 1 01-08-2020 NaN NaN
1 1 NaN NaN NaN
2 2 NaN 02-08-2020 NaN
3 2 NaN 02-08-2020 NaN
4 3 NaN NaN 04-08-2020
5 3 NaN NaN NaN
6 3 02-08-2020 NaN NaN
</code></pre>