<pre><code># import packages we need, seed random number generator
import pandas as pd
import datetime
import random
random.seed(1)
</code></pre>
<hr/>
<h2>创建示例数据帧</h2>
<pre><code>dates = [single_date for single_date in (start_date + datetime.timedelta(n) for n in range(day_count))]
values = [random.randint(1,1000) for _ in dates]
df = pd.DataFrame(zip(dates,values),columns=['dates','values'])
</code></pre>
<p>ie<code>df</code>将是:</p>
<pre><code> dates values
0 2020-01-01 389
1 2020-01-02 808
2 2020-01-03 215
3 2020-01-04 97
4 2020-01-05 500
5 2020-01-06 30
6 2020-01-07 915
7 2020-01-08 856
8 2020-01-09 400
9 2020-01-10 444
</code></pre>
<hr/>
<h2>选择每列中条目最高的行</h2>
<p>你可以做:</p>
<pre><code>df[df['dates'] == df['dates'].max()]
</code></pre>
<p>(或者,如果想使用<code>idxmax</code>,可以这样做:<code>df.loc[[df['dates'].idxmax()]]</code>)</p>
<p>返回:</p>
<pre><code> dates values
9 2020-01-10 444
</code></pre>
<p><em>即这是最新日期的行</em></p>
<p>&</p>
<pre><code>df[df['values'] == df['values'].max()]
</code></pre>
<p>(或者,如果想再次使用<code>idxmax</code>,可以这样做:<code>df.loc[[df['values'].idxmax()]]</code>-就像<a href="https://stackoverflow.com/users/6361531/scott-boston">Scott Boston</a>的<a href="https://stackoverflow.com/a/63206701/8565438">answer</a>。)</p>
<p>及</p>
<pre><code> dates values
6 2020-01-07 915
</code></pre>
<p><em>即这是<code>values</code>列</em>中具有最高值的行</p>
<p><a href="https://stackoverflow.com/questions/10202570/find-row-where-values-for-column-is-maximal-in-a-pandas-dataframe">Reference</a></p>