我想向我的数据帧添加一个新列retailer_relationship
。你知道吗
如果retailer
列值以列表retailer_relationship
中的任何项开头,我希望这个新列的每一行值都是'TRUE'
,否则是'FALSE'
。你知道吗
我试过的:
list_of_relationships = ("retailer1","retailer2","retailer3")
for i in df.index:
for relationship in list_of_relationships:
if df.iloc[i]['retailer'].str.startswith(relationship):
df.at[i, 'retailer_relationship'] = "TRUE"
else:
df.at[i, 'retailer_relationship'] = "FALSE"
您仍然可以在
pandas
中使用startswith
可以使用正则表达式将指定字符串开头的
^
特殊字符与另一个与retailer_relationship
的每个元素匹配的正则表达式组合起来,因为startswith
不接受正则表达式:因为您需要文本字符串
'TRUE'
和'FALSE'
,所以我们可以使用map
将布尔值转换为字符串。你知道吗另一种方法是稍微快一点,尽管我认为这无关紧要:
看看这对你有用吗。它将有助于共享df的样本或表示df的虚拟数据。你知道吗
相关问题 更多 >
编程相关推荐