我有一个包含多个列的数据框。其中之一是df['col1']由字母、特殊字符(. 或 _)和数字组成的字符串值。我想创建一个新列,返回索引 + 1 或第一个数字或 alpha 的位置。
我知道这不起作用,但类似于:
df['new_col'] = df['col1'].apply(lambda x: re.search(r'\d', str(x))).str.startswith()
以便
col1 = abc12 returns 4,
33zxy returns 1,
hi_world2 returns 9
依此类推(如果是第一个数字的位置)。
我也尝试使用 find、next 和 filter,但它们没有用。
df['new_col'] = df['col1'].str.find(next(filter(str.isalpha, df['col1']))) + 1
任何帮助,将不胜感激!
千万里不及你
相关分类