python - Simple pandas pivot table issue -
i have dataframe below:
+-------+--------+----------+---------------+ | | ios_id | video_id | feed_position | +-------+--------+----------+---------------+ | 11995 | user1 | 199 | 7 | | 11996 | user2 | 164 | 18 | | 11997 | user3 | 209 | 1 | | 11998 | user3 | 85 | 4 | | 11999 | user3 | 45 | 6 | | 12000 | user3 | 150 | 10 | | 12001 | user3 | 207 | 12 | | 12002 | user3 | 203 | 26 | | 12003 | user4 | 209 | 1 | | 12004 | user4 | 202 | 1 | | 12005 | user4 | 204 | 1 | | 12006 | user4 | 126 | 2 | | 12007 | user4 | 72 | 5 | | 12008 | user4 | 108 | 10 | | 12009 | user4 | 85 | 11 |
what create pivot table counts instances of each ios_id each video_id , feed_position. this:
+------------+---+---+---+---+---+---+----+----+----+----+----+ | row labels | 1 | 2 | 4 | 5 | 6 | 7 | 10 | 11 | 12 | 18 | 26 | +------------+---+---+---+---+---+---+----+----+----+----+----+ | 45 | | | | | 1 | | | | | | | | 72 | | | | 1 | | | | | | | | | 85 | | | 1 | | | | | 1 | | | | | 108 | | | | | | | 1 | | | | | | 126 | | 1 | | | | | | | | | | | 150 | | | | | | | 1 | | | | | | 164 | | | | | | | | | | 1 | | | 199 | | | | | | 1 | | | | | | | 202 | 1 | | | | | | | | | | | | 203 | | | | | | | | | | | 1 | | 204 | 1 | | | | | | | | | | | | 207 | | | | | | | | | 1 | | | | 209 | 2 | | | | | | | | | | | +------------+---+---+---+---+---+---+----+----+----+----+----+
i tried:
pd.pivot_table(df, values=['ios_id'], index=['video_id'], columns=['video_id', 'feed_position'], aggfunc=np.count_nonzero)
but met error: keyerror: 'level video_id not found'
any thoughts on how can accomplish this?
you had it, don't include 'video_id' in columns : columns what's going along top of pivot table, , index what's going down left.
pd.pivot_table(df2, columns = ['feed_position'], index = ['video_id'], aggfunc= np.count_nonzero) ios_id feed_position 1 2 4 5 6 10 11 12 18 26 video_id 45 nan nan nan nan 1 nan nan nan nan nan 72 nan nan nan 1 nan nan nan nan nan nan 85 nan nan 1 nan nan nan 1 nan nan nan 108 nan nan nan nan nan 1 nan nan nan nan 126 nan 1 nan nan nan nan nan nan nan nan 150 nan nan nan nan nan 1 nan nan nan nan 164 nan nan nan nan nan nan nan nan 1 nan 202 1 nan nan nan nan nan nan nan nan nan 203 nan nan nan nan nan nan nan nan nan 1 204 1 nan nan nan nan nan nan nan nan nan 207 nan nan nan nan nan nan nan 1 nan nan 209 2 nan nan nan nan nan nan nan nan nan
Comments
Post a Comment