【发布时间】:2019-09-12 17:45:05
【问题描述】:
我正在尝试从一个数据帧中获取字符串数据并将其替换为数值并创建结果的叉积,如下所示。
我将数据读入数据帧,示例输入如下:
import pandas as pd
shoppers = pd.DataFrame({'name': ['bill', 'bob', 'james', 'jill', 'henry'],
'item': ['apple','apple','orange','grapes','orange']})
stores = pd.DataFrame({'apple' : [0.25, 0.20, 0.18],
'orange': [0.30, 0.4, 0.35],
'grapes': [1.0, 0.9, 1.1],
'store': ['kroger', 'publix', 'walmart']})
这是生成的购物者数据框:
item
name
bill apple
bob apple
james orange
jill grapes
henry orange
这是生成的商店数据框:
apple orange grapes
store
kroger 0.25 0.30 1.0
publix 0.20 0.40 0.9
walmart 0.18 0.35 1.1
期望的结果是每个人在每家商店支付的价格。例如:
我真的很难找到正确的方法来有效地在 Pandas 中进行这种转换。我可以轻松地遍历购物者和商店,并以蛮力的方式构建每一行,但必须有一种更有效的方法来使用 pandas API 来做到这一点。感谢您的任何建议。
【问题讨论】: