在python中解析列值

在python中解析列值,python,pandas,parsing,Python,Pandas,Parsing,我在df中有大约200000行和20列,其中一列包含站点的名称。看起来是这样的: 00001 OPPT YY G 00002 LIMO DA G 000016 KAPAL VS G 0000663 TAPS VS G ... df['col_1'] = df['col_1'].replace(r'^(\b\d+\b).*$', r'\1', regex=True) 从列值中提取数字的最佳方法是什么? 期望输出: 00001 00001 000016 0000663 谢谢,因此您可以使用此功

我在df中有大约200000行和20列,其中一列包含站点的名称。看起来是这样的:

00001 OPPT YY G
00002 LIMO DA G
000016 KAPAL VS G
0000663 TAPS VS G
...
df['col_1'] = df['col_1'].replace(r'^(\b\d+\b).*$', r'\1', regex=True)
从列值中提取数字的最佳方法是什么? 期望输出:

00001
00001
000016
0000663

谢谢,因此您可以使用此功能:例如,如果您的数据帧是df,并且您的第一列包含此数据,则:

(df.T).ix[0]

我希望这将对您有所帮助。

假设
Col1
是您的专栏

df
Out: 
                Col1
0    00001 OPPT YY G
1    00002 LIMO DA G
2  000016 KAPAL VS G
3  0000663 TAPS VS G
在空间上拆分并获取第一个元素:

df['Col1'].str.split().str[0]
Out: 
0      00001
1      00002
2     000016
3    0000663
Name: Col1, dtype: object
可能是这样的smth:

00001 OPPT YY G
00002 LIMO DA G
000016 KAPAL VS G
0000663 TAPS VS G
...
df['col_1'] = df['col_1'].replace(r'^(\b\d+\b).*$', r'\1', regex=True)

嗯,有时候它的顺序可能不同,第一个单词,然后是数字,我的坏。@jovicbg我认为这需要正则表达式,我不太擅长。你能不能接受这个答案,所以人们不会认为这个问题被解决了,而是看问题。顺便说一句,编辑这个问题可能会更好。