将 COUNTIFS 列添加到 Pandas DataFrame
Add a COUNTIFS column to a Pandas DataFrame
我正在 Python 中使用 Pandas DataFrame,它包含下图中的前两列:user_id、user_time.
我只需要添加第 3 列,这基本上是每个 "user_id" 的 "user_time" 序列。在 Excel 中,公式为:
=COUNTIFS([user_id],[@[user_id]], [user_time], "<="&[@[user_time]])
请问 Python 我该怎么做?
你需要cumcount
.
谢谢 for comment - if necessary use sort_values
:
df = df.sort_values(['user_id', 'user_time'])
df['COUNTIFS'] = df.groupby('user_id').cumcount() + 1
我正在 Python 中使用 Pandas DataFrame,它包含下图中的前两列:user_id、user_time.
我只需要添加第 3 列,这基本上是每个 "user_id" 的 "user_time" 序列。在 Excel 中,公式为:
=COUNTIFS([user_id],[@[user_id]], [user_time], "<="&[@[user_time]])
请问 Python 我该怎么做?
你需要cumcount
.
谢谢sort_values
:
df = df.sort_values(['user_id', 'user_time'])
df['COUNTIFS'] = df.groupby('user_id').cumcount() + 1