pandas 我如何创建一个计算列的条件在aggratate [重复]

3qpi33ja  于 2023-08-01  发布在  其他
关注(0)|答案(1)|浏览(68)

此问题已在此处有答案

Python Pandas max value in a group as a new column(3个答案)
20小时前关闭。
我尝试创建一个max_time列,在行rsvn 1中的值为2(rsvn 1的max of status == 'ss'),在行rsvn 2中的值为6。
我怎么能用1行Pandas代码做到这一点


的数据

wnvonmuf

wnvonmuf1#

# Assuming the data is like this:
df = pd.DataFrame(
    {'rsvn': {0: 1, 1: 1, 2: 1, 3: 1, 4: 2, 5: 2, 6: 2, 7: 2}, 
     'status': {0: 'ss', 1: 'ss', 2: 'f', 3: 'f', 4: 'ss', 5: 'ss', 6: 'f', 7: 'f'}, 
     'time': {0: 1, 1: 2, 2: 3, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8}}
)

# you can recreate the max_time column like this:
max_df = df[df['status'] == 'ss'].groupby('rsvn')['time'].max().rename('max_time').reset_index()
df.merge(max_df, on='rsvn', how = 'left')

字符串

相关问题