我有一个简单的数据框,如下所示:
import pandas as pd
import numpy as np
df = pd.DataFrame({'BR_NM': ['HN', 'HN', 'HP'],
'CUS_ID': ['12345', '12345', '12345'],
'ACC_ID': ['12345_1', '12345_2', '12345_3'],
'REGION': ['North', 'North', 'North'],
'CUS_TYPE': ['Individual', 'Individual', 'Individual']})
df
BR_NM CUS_ID ACC_ID REGION CUS_TYPE
HN 12345 12345_1 North Individual
HN 12345 12345_2 North Individual
HP 12345 12345_3 North Individual
我想根据
CUS_ID
计算唯一的BR_NM
,然后根据REGION
求和。就我而言,这只是一个拥有三个帐户的客户,但我想将其算作两个客户。以下是我想要的输出:
REGION CUS_TYPE North
0 Individual 2
如果我使用
pivot_table
和 aggfunc = pd.Series.nunique
它就算作 1。
df2 = pd.pivot_table(df, values='CUS_ID', columns='REGION', index='CUS_TYPE', aggfunc=pd.Series.nunique).reset_index()
谢谢你。