【发布时间】:2020-08-25 23:43:55
【问题描述】:
我有一个包含几列的数据框。其中之一是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
任何帮助将不胜感激!
【问题讨论】:
标签: python python-3.x regex pandas dataframe