我有两个数据框。在第一个中,我有客户和列有他/她访问过的每家餐馆的列表。
In [1]: df_customers
Out[1]:
Document Restaurants
0 '000000984 [20504916171, 20504916171, 20499859164]
1 '000010076 [20505918674, 20505918674, 20505918674]
2 '000010319 [20253346711, 20524403863, 20508246677]
3 '000018468 [20253346711, 20538456226, 20505918674]
4 '000024409 [20553255881, 20553596441, 20553255881]
5 '000025944 [20492255719, 20600654226]
6 '000031162 [20600351398, 20408462399, 20499859164]
7 '000055177 [20524403863, 20524403863]
8 '000058303 [20600997239, 20524403863, 20600997239]
9 '000074791 [20517920178, 20517920178, 20517920178]
在我的另一个数据框中,我有一列包含餐厅,另一列包含每个给定的值
In [2]: df_rest
Out [2]:
Restaurant Points
0 10026575473 1
1 10037003331 1
2 10072208299 1
3 10179698400 2
4 10214262750 1
我需要在我的客户数据框中创建一列,其中包含他/她访问过的每家餐厅的积分总和。
我试过这样的事情:
df_customers["Sum"]=df_rest.loc[df_rest["Restaurant"].isin(df_customers["Restaurants"]),"Points"].sum()
但我收到此错误:
TypeError: unhashable type: 'list'
我试图不迭代我的客户数据框,它需要太长时间。有什么帮助吗?
炎炎设计
哈士奇WWW
相关分类