Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/327.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何提取数字前的所有字符并扩展到另一列?_Python_Regex_Pandas - Fatal编程技术网

Python 如何提取数字前的所有字符并扩展到另一列?

Python 如何提取数字前的所有字符并扩展到另一列?,python,regex,pandas,Python,Regex,Pandas,只是想知道我对Regex做了什么,这是一个非常新的问题 df tradingsymbol 0 USDEUR18D21P 1 KNIFY20DEC182700P 我正在尝试提取第一个数字之前的所有字符。然后将前面的部分提取到另一列中 我试过: df['tradingsymbol'].str.extract('^(\D)\d', expand=True) 它给了我所有的结果 我尝试了其他一些表达式,它们要么返回NaN,要么给出

只是想知道我对Regex做了什么,这是一个非常新的问题

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