【发布时间】:2018-07-13 09:58:17
【问题描述】:
python 初学者 - 我正在寻找创建字符串的字典映射,以及相关的值。我有一个数据框,想创建一个新列,如果字符串匹配,它将列标记为 x。
df = pd.DataFrame({'comp':['dell notebook', 'dell notebook S3', 'dell notepad', 'apple ipad', 'apple ipad2', 'acer chromebook', 'acer chromebookx', 'mac air', 'mac pro', 'lenovo x4'],
'price':range(10)})
例如,我想使用上面的df 并创建一个新列df['company'] 并将其设置为字符串映射。
我正在考虑做类似的事情
product_map = {'dell':'Dell Inc.',
'apple':'Apple Inc.',
'acer': 'Acer Inc.',
'mac': 'Apple Inc.',
'lenovo': 'Dell Inc.'}
然后我想遍历它以检查df.comp 列并查看每个条目是否包含这些字符串之一,并将df.company 列设置为字典中的值。
但不确定如何正确执行此操作。
【问题讨论】:
-
@pault 我将更新我的示例,因为您的解决方法不是我要解决的问题。不过谢谢你的建议。
-
所以 'dell notebook' 应该替换为 'Dell Inc.'还是“戴尔公司笔记本”?
-
不应该被替换,新列
df['Company']应该填充Dell Inc.,因为key在字符串dell notebook中 -
以下@aquil.abdullah 的解决方案不能实现您的目标吗?
标签: python pandas dictionary dataframe apply