我有以下包含各种产品名称的数据框,如下所示:
Name
0 1 Enkelt (35%)
1 1 Klasses Bitter
2 1 minute Urban Protect Mask
3 10 Years Tawny Port
4 100% Frugtbar
5 100% Klementinjuice
6 100% Kokosvand
7 1000 kernerugbrød øko.
查看此产品:1000 kernerugbrød øko.
。我试图设置一些条件,以便从末尾删除oko.
,并根据丹麦语关于单数和复数的规则,在名称前添加“Økologisk”(单数)或“Økologiske”(复数)。在这种情况下,因为kernerugbrød不是以字母r结尾,所以应该是Økologisk。你知道吗
基本上是这样的:
我在Name
列中有一行包含这个值:1000 kernerugbrød øko.
->;我删除了oko.
,结果是1000 kernerugbrød
->;我检查最后一个字母是r
还是Økologisk
还是Økologiske
,这取决于上一步->;最后一个字符串应该是:Økologisk 1000 kernerugbrød
。你知道吗
我的尝试如下:
text = "Økologisk "
text2 = "Økologiske "
df['test'] = df['Name'].str.contains(",?\søko.") #creating a new column containing
#booleans to check which Name contains "oko."
df['Name'] = df['Name'].str.replace(r',?\søko.', "") #replacing "oko." with empty string
if df['test']: #if the Name contained "oko."
if df['Name'].str.contains("r(\s)?$"): #checking for plural
df['Name'] = text2 + df['Name']
else:
df['Name'] = text + df['Name']
但是,我在if df['test']
得到这个错误。你知道吗
ValueError: The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all().
我试着使用上面的建议,但没有一个能真正帮助我完成这项任务。因此,我应该做些什么来修复我的代码,或者应该如何编写我的代码来实现这个问题的正确解决方案?你知道吗
我想你可以使用双^{} :
相关问题 更多 >
编程相关推荐