【发布时间】:2018-09-07 09:10:39
【问题描述】:
我不熟悉 python 中的数据处理。 我在数据框中有一列,其文本如下:
- 我真的很喜欢产品A!
- 我认为产品 B 适合我!
- 我会选择产品 C。
我的目标是创建一个带有产品名称的新列(包括“产品”一词)。我不想使用正则表达式。产品名称连续唯一。所以不会有像
这样的字符串的行- 我非常喜欢产品 A 和产品 B
一般形式的问题:我有一个独特项目的列表。让我们称之为列表 A。我有另一个字符串列表,其中每个字符串最多包含列表 A 中的一个项目。如何创建一个包含匹配项目的新列表。
我已经编写了以下代码。它工作正常。但即使是我(编程新手)也可以说这是非常低效的。
有更好更优雅的解决方案吗?
product_type = ['Product A', 'Product B', 'Product C', 'Product D']
product_list = [None] * len(fed_df['product_line'])
for i in range(len(product_list)):
for product in product_type:
if product in fed_df['product_line'][i]:
product_list[i] = product
fed_df['product_line'] = product_list
【问题讨论】:
-
您能否发布一个关于您的数据的小示例以及您期望的结果?这会比你上面的描述更清楚,更不容易被误解。
标签: python list dataframe data-manipulation