Python 分析Pandas中的列值

Python 分析Pandas中的列值,python,pandas,parsing,dataframe,Python,Pandas,Parsing,Dataframe,我有具有以下值的列名称: NY0528_3 NY5366_2 4536 NY1244_5 5363 PH1734_3 期望输出: 0528 5366 6363 1244 5363 1734 无论我尝试了什么,我都无法得到一个通用的解决方案,但我需要它,因为我有20万行。 谢谢您可以使用: 输出: 0 0528 1 5366 2 4536 3 1244 4 5363 5 1734 Name: Name, dtype: object 尝试使用正则表达式: i

我有具有以下值的列名称:

NY0528_3
NY5366_2
4536
NY1244_5
5363
PH1734_3
期望输出:

0528
5366
6363
1244
5363
1734
无论我尝试了什么,我都无法得到一个通用的解决方案,但我需要它,因为我有20万行。 谢谢

您可以使用:

输出:

0    0528
1    5366
2    4536
3    1244
4    5363
5    1734
Name: Name, dtype: object

尝试使用正则表达式:

import re

def clean(teststring):
    return re.findall(r"[0-9]{4,4}", teststring)
如果您的数据位于
df.col
运行:

df.col.apply(clean)

为什么
6363
在第三行?是不是应该是
4536
?@CarlesMitjans是的,我在复制时不好这个给了我一个错误:“[0”“0”“0001”“,'44357”“44356”“44357”“]不在索引中”,你知道这可能是什么吗?你的数据框的结构是什么?有20多列和几千行的数据框。该列称为“Name ln”。
df.col.apply(clean)