<p>您可以利用以下格式的<a href="https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.groupby.html#pandas-dataframe-groupby" rel="nofollow noreferrer">pandas.DataFrame.groupby</a>、<a href="https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.aggregate.html" rel="nofollow noreferrer">pandas.DataFrame.aggregate</a>和<a href="https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.rename.html#pandas-dataframe-rename" rel="nofollow noreferrer">pandas.DataFrame.rename</a>在一行中生成所需的输出:</p>
<hr/>
<h3>代码:</h3>
<pre><code>import pandas as pd
df = pd.DataFrame({'name': ['Settings','Calendar','Calendar', 'Messages', 'Instagram', 'Drive'],
'duration': [3.436, 2.167, 5.7050, 7.907, 50.285, 30.260],
'UserId': [1, 1, 1, 1, 2, 2],
'category' : ['System_tool', 'Calendar', 'Calendar', 'Phone_and_SMS', 'Social', 'Productivity'],
'part_of_day' : ['evening', 'night','night','night','night','night' ],
'Date' : ['2020-09-10', '2020-09-11', '2020-09-11', '2020-09-11', '2020-09-28', '2020-09-28'] })
df.groupby(['UserId', 'Date', 'category']).aggregate( count_cat = ('category', 'count'), max_duration = ('duration', 'max'))
</code></pre>
<h3>输出:</h3>
<p><a href="https://i.stack.imgur.com/FoN79.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/FoN79.png" alt="output from one line"/></a></p>