如何使用主数据框中的数据创建摘要数据框?

2024-05-13 12:47:02 发布

您现在位置:Python中文网/ 问答频道 /正文

这是我正在使用的一些模拟数据的一个小摘录-它是我所称的“主要”DF的形式。它有多个客户密钥,每个用户可以拥有多个设备,这些设备可以在数天内访问wifi。你知道吗

Customer Account Key  Device Ref  Date        Data Used (mb)
ABC123                Dev1        03/06/2018  100
ABC123                Dev2        03/06/2018  500
ABC123                Dev3        03/06/2018  250
ABC123                Dev1        04/06/2018  600
ABC123                Dev2        04/06/2018  1000
ABC123                Dev3        04/06/2018  350

我想在第二个DF中总结一下这个日期,它看起来是这样的

Customer_Account_Key Total_Devices Total_Days Total_Data_Used
ABC123               3             2          2800

到目前为止,我已经成功地创建了第二个DF,每个惟一的客户帐户密钥只有一行

df_users['Customer Account Key'] = df_data['Customer Account Key'].unique()

但是我真的很难根据新DF中的每个客户帐户键从主DF中提取摘要信息。你知道吗

我和Groupby和测向位置但我什么也没有得到。我是Python新手,所以我不确定这些是不是错误的方法,或者我只是没有正确地使用它们。你知道吗

有什么建议吗?你知道吗

谢谢


Tags: keydfdata客户dev1dev2密钥帐户
1条回答
网友
1楼 · 发布于 2024-05-13 12:47:02

您可以使用groupby+agg函数:

# aggregate data
df = df.groupby('Customer').agg({'Account_Key': {'Total_Devices':'nunique'},
                                 'Device_Ref_Date':{'Total_Days':'nunique'},
                                 'Data_Used':{'Total_Data_Used':'sum'}})

# remove multiindex column names
df.columns=df.columns.droplevel()
df = df.reset_index()

print(df)

   Customer  Account_Key  Device_Ref_Date  Data_Used
0   ABC123            3                2       2800

相关问题 更多 >