为了账号安全,请及时绑定邮箱和手机立即绑定

如何在python中对这个数据框进行分组?

如何在python中对这个数据框进行分组?

HUX布斯 2021-07-22 18:08:37
我有这个问题:import pandas as pdstripline = "----------------------------"rawData = {    'order number': ['11xa', '11xa', '11xa', '21xb', '31xc'],    'working area': ['LLA', 'LLE', 'LLS', 'MLA', 'MLE'],    'time': [1, 6, 13, 35, 24]}df = pd.DataFrame(rawData)print("original data:")print(df.head())print(stripline)rawData2 = {    'order number': ['11xa', '21xb', '31xc'],    'working area': ['LLS', 'MLA', 'MLE'],    'time': [20, 35, 24]}df2 = pd.DataFrame(rawData2)print("expected result:")print("group after order number, sum all times to that order and choose working field with the biggest time")print(df2.head())如何操作我的数据框 df 以获得 df2?我想总结时间列中与订单号对应的所有值。我想使用时间最长的工作字段,特别是我想保留其余的数据。新的数据框有 3 个订单,旧的有 5 个。
查看完整描述

3 回答

?
catspeake

TA贡献1111条经验 获得超0个赞

import pandas as pd


rawData = {

    'order_number': ['11xa', '11xa', '11xa', '21xb', '31xc'],

    'working_area': ['LLA', 'LLE', 'LLS', 'MLA', 'MLE'],

    'time': ['1', '6', '13', '35', '24']

    }


df = pd.DataFrame(rawData)

df['time'] = df['time'].apply(int) 

df = df.groupby('order_number', as_index=False).apply(lambda g: g.assign(sum=g.time.sum()))

df.groupby('order_number', ascending=False).apply(lambda x: x.sort_values('time').head(1)).reset_index(drop=True)

给你


  order_number working_area  time  sum

0         11xa          LLA     1   20

1         21xb          MLA    35   35

2         31xc          MLE    24   24


查看完整回答
反对 回复 2021-07-28
?
胡子哥哥

TA贡献1825条经验 获得超6个赞

rawData = {

    'order number': ['11xa', '11xa', '11xa', '21xb', '31xc'],

    'working area': ['LLA', 'LLE', 'LLS', 'MLA', 'MLE'],

    'time': ['1', '6', '13', '35', '24']

}


dataframe = pd.DataFrame(rawData)

dataframe['time'] = dataframe['time'].astype(int)

dataframe.groupby(['order number']).sum().reset_index()

输出


order number    time

0     11xa     20

1     21xb     35

2     31xc     24


查看完整回答
反对 回复 2021-07-28
  • 3 回答
  • 0 关注
  • 215 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号