Python 如何提取数字前的所有字符并扩展到另一列?
只是想知道我对Regex做了什么,这是一个非常新的问题Python 如何提取数字前的所有字符并扩展到另一列?,python,regex,pandas,Python,Regex,Pandas,只是想知道我对Regex做了什么,这是一个非常新的问题 df tradingsymbol 0 USDEUR18D21P 1 KNIFY20DEC182700P 我正在尝试提取第一个数字之前的所有字符。然后将前面的部分提取到另一列中 我试过: df['tradingsymbol'].str.extract('^(\D)\d', expand=True) 它给了我所有的结果 我尝试了其他一些表达式,它们要么返回NaN,要么给出
df
tradingsymbol
0 USDEUR18D21P
1 KNIFY20DEC182700P
我正在尝试提取第一个数字之前的所有字符。然后将前面的部分提取到另一列中
我试过:
df['tradingsymbol'].str.extract('^(\D)\d', expand=True)
它给了我所有的结果
我尝试了其他一些表达式,它们要么返回NaN,要么给出了关于括号的错误
我该怎么办
提前谢谢
预期o/p
df
tradingsymbol symbol
0 USDEUR18D21P USDEUR
1 KNIFY20DEC182700P KNIFY
您仅用\D捕获一个非数字。您需要一个贪婪的修饰符:
^(\D+)\d
你需要“^\D+”哇,谢谢@WiktorStribiżew