【发布时间】:2020-12-14 16:33:00
【问题描述】:
我必须计算一个指标,该指标要求我从多个列中找到同一“用户”的属性。例如,我有两个数据框如下所示:
calls_per_month.head(10)
user_id month call_date
0 1000 12 16
1 1001 8 27
2 1001 9 49
3 1001 10 65
4 1001 11 64
5 1001 12 56
6 1002 10 11
7 1002 11 55
8 1002 12 47
9 1003 12 149
internet_per_month.head(10)
user_id session_date mb_used
0 1000 12 2000.0
1 1001 8 7000.0
2 1001 9 14000.0
3 1001 10 23000.0
4 1001 11 19000.0
5 1001 12 20000.0
6 1002 10 7000.0
7 1002 11 20000.0
8 1002 12 15000.0
9 1003 12 28000.0
我想为每个使用互联网或拨打电话的每个月的 user_id 计算一个看起来像这样的指标: `使用 = mb_used + call_date' 这将是一个看起来像的列(我已经手工计算过):
user_id month usage
0 1000 12 2016
1 1001 8 7027
2 1001 9 14049
3 1001 10 23065
4 1001 11 19064
5 1001 12 20056
6 1002 10 7011
7 1002 11 20055
8 1002 12 15047
9 1003 12 28149
上面我显示的头部没有显示它,但是有一些用户在特定月份没有拨打电话但使用了数据,所以我必须考虑到这一点,从某种意义上说它不应该忽略那些用户,只需为不可用的数据添加 0。
我应该先对表进行外部联接吗?或者创建一个新表不是正确的方法?任何指导表示赞赏。
谢谢
【问题讨论】:
标签: python pandas pandas-groupby pivot-table data-wrangling