擅长:python、mysql、java
<p>如果我理解正确的话,您需要两次使用<a href="https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.merge.html" rel="nofollow noreferrer">^{<cd1>}</a>连接所有3个数据帧,然后有条件地使<code>y</code>列与{a2}一起,我们可以传递多个条件</p>
<pre><code>df_temp = pd.merge(df3, df1[df1.m == 1], on='id').merge(df2, on='id')
# Create column y with multiple conditions
conditions = [
df_temp['c'] == 99,
(df_temp['c'] == 1) | (df_temp['d'] == 1)
]
choices = [99, 1]
df_temp['y'] = np.select(conditions, choices, default=0)
# Select only columns we need for output
df_final = df_temp[['id', 'n', 'y']]
print(df_final)
id n y
0 577140 bla4 1
1 577141 bla8 0
</code></pre>