擅长:python、mysql、java
<p>我试图解决你的问题。我确实为您提供了一个解决方案,但就效率/代码执行而言,它可能不是最快的。请参阅下文:</p>
<pre><code>newdf = df.pivot(index='Name', columns='Month', values='Grade')
newdf = newdf[['Jan', 'Feb', 'Mar', 'Apr']].fillna(-1)
newdf['concatenated'] = newdf['Jan'].astype('str') + newdf['Feb'].astype('str') + newdf['Mar'].astype('str') + newdf['Apr'].astype('str')
newdf[newdf['concatenated'].str.contains('DDD', regex=False, na=False)]
</code></pre>
<p>输出如下所示:</p>
<pre><code>Month Jan Feb Mar Apr concatenated
Name
Sue D D D A DDDA
</code></pre>
<p>如果只需要名称,请使用以下命令</p>
<pre><code>newdf[newdf['concatenated'].str.contains('DDD', regex=False, na=False)].index.to_list()
</code></pre>