我正在尝试对组进行概括,并且我在数据框中有一列字符串标题。我想根据它们是否包含字符串来拆分它们。有很多组,但它们都包含字符串 "Alpha"
"Beta"
或 "Gamma"
。我想用这些标题重新编码一个新专栏。下面的函数似乎没有按我预期的方式工作,我不确定是正则表达式还是 np.where
方法会更好。非常感谢任何帮助。
def recode_func(n):
for i in n:
if "Alpha" in i:
i == "Alpha"
elif "Beta" in i:
i== "Beta"
elif "Gamma" in i:
i == "Gamma"
else:
continue
最佳答案
一种方法是迭代列表并使用 pd.Series.str.contains
:
for item in ['Alpha', 'Beta', 'Gamma']:
df.loc[df['col'].str.contains(item, regex=False), 'col'] = item
如上所述,regex=False
应该可以提高性能。
这比逐行迭代数据框更有效。
关于python - 尝试根据列是否包含特定字符串对其进行重新编码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50179310/