<ul>
<li>我建议使用<a href="https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.groupby.html" rel="nofollow noreferrer">^{<cd1>}</a>来获取每个组的值</李>
<li>在大多数情况下,对熊猫使用<code>for-loop</code>表示可能没有正确或有效地使用</李>
<li>额外资源:
<ul>
<li><a href="https://realpython.com/fast-flexible-pandas/" rel="nofollow noreferrer">Fast, Flexible, Easy and Intuitive: How to Speed Up Your Pandas Projects</a></li>
<li><a href="https://stackoverflow.com/tags/pandas/info">Stack Overflow Pandas Tag Info Page</a></li>
</ul>
</li>
</ul>
<h2>备选案文1:</h2>
<pre class="lang-py prettyprint-override"><code>import pandas as pd
import numpy as np
import random
np.random.seed(365)
random.seed(365)
rows = 25
data = {'n': [random.choice(['A', 'B', 'C']) for _ in range(rows)],
'v1': np.random.randint(40, size=(rows)),
'v2': np.random.randint(40, size=(rows))}
df = pd.DataFrame(data)
# groupby n
for g, d in df.groupby('n'):
# print(g) # use or not, as needed
print(d.v1.values[0]) # selects the first value of each group and prints it
[out]: # first value of each group
5
33
18
</code></pre>
<h2>备选案文2:</h2>
<pre class="lang-py prettyprint-override"><code>dfg = df.groupby(['n'], as_index=False).agg({'v1': list})
# display(dfg)
n v1
0 A [5, 26, 39, 39, 10, 12, 13, 11, 28]
1 B [33, 34, 28, 31, 27, 24, 36, 6]
2 C [18, 27, 9, 36, 35, 30, 3, 0]
</code></pre>
<h2>备选案文3:</h2>
<ul>
<li>如注释中所述,您的数据已经是<code>groupby</code>的结果,并且每个组的列中只有一个值</李>
</ul>
<pre class="lang-py prettyprint-override"><code>dfg = df.groupby('n', as_index=False).sum()
# display(dfg)
n v1 v2
0 A 183 163
1 B 219 188
2 C 158 189
# print the value for each group in v1
for v in dfg.v1.to_list():
print(v)
[out]:
183
219
158
</code></pre>
<h2>备选案文4:</h2>
<ul>
<li>打印每列的所有行</li>
</ul>
<pre class="lang-py prettyprint-override"><code>dfg = df.groupby('n', as_index=False).sum()
for col in dfg.columns[1:]: # selects all columns after n
for v in dfg[col].to_list():
print(v)
[out]:
183
219
158
163
188
189
</code></pre>