我希望通过创建一个函数来提高产品提要中列出的某些项的标题描述的质量,该函数循环遍历现有字段并检查这些项是否存在
如果列中的值不存在,我希望将该项附加到标题开头的现有标题中
到目前为止,我已经尝试了多种方法,包括使用布尔值来查看值是真是假。然而,超过这一点,我无法使用它来循环每一行,如果为FALSE,则追加字符串
以下是一些示例数据:
import pandas as pd
feed = pd.read_csv(r'...feed.csv')
cols = ['title', 'color', 'brand']
df = feed.loc[:,cols]
title color brand
0 Testy Black Jumper black Testy
1 White T-Shirt white Testy_New
2 Testy Red Jacket red Testy
3 Trousers green Testy
def brand_checker(df):
for row in df:
if row in df[~df['title'].isin(df['brand']):
m = df.filter(like='title').apply(lambda x: x.str.contains(str(df['brand'])), axis=1).all(axis=1)
df['new_title'] = np.where(m, df['title'], df['brand'] + " " + df['title'])
else:
pass
return df
df2 = brand_checker(df)
df.head(3)
目前,我收到以下错误消息:
“语法错误:无效语法”
title color brand
0 Testy Black Jumper black Testy
1 Testy White T-Shirt white Testy
2 Testy_New Red Jacket red Testy_New
3 Testy Trousers green Testy
我怎样才能逐行检查标题中是否存在品牌(顺序无关紧要),如果不存在则追加到开头
理想情况下,我希望复制颜色和/或任何其他列的过程,这些列将来可能会添加到dataframe中
你可能会有更好的运气与这样的事情。我注意到你有一些str转换正在进行中,所以如果你的数据类型还不是str,你可能需要添加一些转换到这个
相关问题 更多 >
编程相关推荐