擅长:python、mysql、java
<p>假设每个组都有一个唯一的非nan值,下面的内容应该满足您的要求</p>
<pre><code>>>> df['test_type'] = df.groupby('test_group')['test_type'].ffill().bfill()
>>> df
test_group test_type
0 1 memory
1 1 memory
2 1 memory
3 2 visual
4 2 visual
5 2 visual
6 3 auditory
7 3 auditory
8 3 auditory
</code></pre>
<p>编辑:</p>
<p>使用的原始答案</p>
<pre><code>df.groupby('test_group')['test_type'].fillna(method='ffill').fillna(method='bfill')
</code></pre>
<p>但是根据<a href="https://stackoverflow.com/users/5401841/schwim">schwim</a>的计时<code>ffill</code>/<code>bfill</code>看起来要快得多(出于某种原因)</p>