我正在尝试使用seaborn 准备用于可视化的数据。 所以我需要获取多折线图的不同类型会话的数量。
与
session_cnt = df.groupby(df['EVENT_DATETIME'].dt.date, df['CUSTOMER_ID']).agg(session_count=('SESSION_ID', 'nunique'), app_session_cnt=('APP_SESSION_ID', 'nunique')).reset_index()
我得到了
TypeError: unhashable type 'series'
所以我就这么做了:
session_cnt = df.groupby(df['EVENT_DATETIME'].dt.date, df['CUSTOMER_ID'].values).agg(session_count=('SESSION_ID', 'nunique'), app_session_cnt=('APP_SESSION_ID', 'nunique')).reset_index()
但是得到了
TypeError: unhashable type 'numpy.ndarray'
我想了解使用 groupby 时要检查哪一列 并得到 TypeError,因为现在我只是猜测。 也许我需要阅读一篇关于该错误的好文章。
Groupby 获取列表:
session_cnt = (df.groupby([df['EVENT_DATETIME'].dt.date, df['CUSTOMER_ID']])
.agg(session_count=('SESSION_ID', 'nunique'),
app_session_cnt=('APP_SESSION_ID', 'nunique'))
.reset_index()
)