我有一个包含以下内容的交易表:
timestamp, user_id, val
我需要通过user_id进行groupby并在val上应用复杂的操作,如
len(val[by_user_id].unique())
但是,每列都不同......
哪种方式效率最高?
1)用一个循环拆分
for x in user_id_list :
或2)使用Pandas groupby,但目前尚不清楚如何为每列应用不同的函数....
感谢
答案 0 :(得分:1)
使用agg
一次应用多个函数,可以是所有列,也可以是每列特定。你想要做的更晚。对于此传递,具有列名称和函数名称的字典如下所示:
df.groupby('by_user_id').agg({'val':'min', 'timestamp':'max'})