print(data['PROD_NAME'])
0 Natural Chip Compny SeaSalt175g
1 CCs Nacho Cheese 175g
2 Smiths Crinkle Cut Chips Chicken 170g
3 Smiths Chip Thinly S/Cream&Onion 175g
4 Kettle Tortilla ChpsHny&Jlpno Chili 150g
...
264831 Kettle Sweet Chilli And Sour Cream 175g
264832 Tostitos Splash Of Lime 175g
264833 Doritos Mexicana 170g
264834 Doritos Corn Chip Mexican Jalapeno 150g
264835 Tostitos Splash Of Lime 175g
Name: PROD_NAME, Length: 264836, dtype: object我只想要在某个地方有‘芯片’字的产品名称。
new_data = pd.DataFrame(data['PROD_NAME'].str.contains("Chip"))
print(pd.DataFrame(new_data))
PROD_NAME
0 True
1 False
2 True
3 True
4 False
... ...
264831 False
264832 False
264833 False
264834 True
264835 False
[264836 rows x 1 columns]我的问题是如何删除错误的product_names,而不是在上面的数据帧中使用True,而是获取使其变为True的产品名称。
顺便说一句,这是Quantium数据分析虚拟实习计划的一部分。
发布于 2020-09-04 12:30:20
尝试使用带有列名的.loc来选择满足所需条件的特定列。这里有一些文档这里,但是逗号前面的部分是希望用作筛选器的布尔序列(在您的例子中是str.contains('Chip'),逗号之后是您想返回的列/列(在您的例子中是'PROD_NAME‘,但也可以使用另一个列/列)。
示例
import pandas as pd
example = {'PROD_NAME':['Chippy','ABC','A bag of Chips','MicroChip',"Product C"],'Weight':range(5)}
data = pd.DataFrame(example)
data.loc[data.PROD_NAME.str.contains('Chip'),'PROD_NAME']
#0 Chippy
#2 A bag of Chips
#3 MicroChip发布于 2020-09-04 12:30:06
你就快到了,
尝尝这个,
res = data[data['PROD_NAME'].str.contains("Chip")]O/P:
prod_name
0 Natural Chip Compny SeaSalt175g
2 Smiths Crinkle Cut Chips Chicken 170g
3 Smiths Chip Thinly S/Cream&Onion 175g
8 Doritos Corn Chip Mexican Jalapeno 150ghttps://stackoverflow.com/questions/63741094
复制相似问题