如何从相关列中创建类似数据的cross_tab

时间:2018-09-21 17:45:33

标签: python pandas dataframe

我知道如何从单个列中获取分类列,例如:

                       user location
date                                
2017-08-28 00:00:01  user_1    lunch
2017-08-28 00:00:01  user_3     home
2017-08-28 00:00:01  user_2      bar

收件人(针对user_1)

location                     bar   grocers   home   lunch   work
date                user                                        
2017-08-28 00:00:00 user_1     0         0      0       1      0
2017-08-28 00:15:00 user_1     0         0      1       0      0
2017-08-28 00:30:00 user_1     0         0      1       0      0

具有:

locDfs = {}
for user, user_loc_dc in locDf.groupby('user'):
    locDfs[user] = user_loc_dc.resample('15T').agg('max').bfill()
#...

loDf = locDfs[user]
loDf.reset_index(inplace=True)
loDf = pd.crosstab([loDf.date, loDf.user], loDf.location)
loDf.reset_index(inplace=True)

但是如何获取相关列的数据,而不是1或0?

                       user     app  metric
date                                       
2017-08-28 14:15:00  user_1   app_2    0.02
2017-08-28 14:30:00  user_1   app_1    0.01
2017-08-28 14:45:00  user_1   app_1    0.01
2017-08-28 15:00:00  user_1   app_1    0.01
2017-08-28 15:15:00  user_1   app_1    0.01

收件人:

                       user     app_1    app_2
date                                       
2017-08-28 14:15:00  user_1     0        0.02
2017-08-28 14:30:00  user_1     0.01     0.02
2017-08-28 14:45:00  user_1     0.01     0.02
2017-08-28 15:00:00  user_1     0.01     0.02
2017-08-28 15:15:00  user_1     0.01     0.02

0 个答案:

没有答案