我无法弄清楚如何逐行迭代数据帧并根据其他单元格的条件更新单元格值。 如果在一个单元格中找到了部分字符串,并且如果另一个单元格同时具有特定值,那么我应该为该单元格添加特定值
也尝试过:
for i, row in df3.iterrows():
codmarime = ''
if df3['20755' in df3['ITEM CODE'][i]] and df3['24' in df3['TG'][i]]:
codmarime= '002'
df3['SKU'][i] = '20'+str(df3['ITEM CODE'][i])+str(df3['COLOR CODE'][i])+codmarime
for i, row in df3.iterrows():
codmarime = ''
if df3['ITEM CODE'].str.contains("20755") and df3['TG'].str.contains("24"):
codmarime= '002'
df3['SKU'][i] = '20'+str(df3['ITEM CODE'][i])+str(df3['COLOR CODE'][i])+codmarime
elif df3['ITEM CODE'].str.contains("20755") and df3['TG'].str.contains("25"):
codmarime= '003'
df3['SKU'][i] = '20'+str(df3['ITEM CODE'][i])+str(df3['COLOR CODE'][i])+codmarime
输出
> ValueError Traceback (most recent call last)
>
> ----> 6 if df3['ITEM CODE'].str.contains("20755") and df3['TG'].str.contains("24"):
答案 0 :(得分:1)
您的代码包含例如for i, row in df3.iterrows():
循环。
在此循环内row
指向当前行。
因此而不是例如df3['SKU'][i]
您应该使用row['SKU']
甚至是row.SKU
。
对当前列中的其他读写情况采取类似方法 行。