pandas 只从字符串中获取出现在字符串最后一部分的数字

9jyewag0  于 2023-11-15  发布在  其他
关注(0)|答案(1)|浏览(113)
import pandas as pd

mydata = {"Key" : [567, 568, 569, 570, 571, 572] , "Sprint" : ["Max1", "Max2", "DI001 2", "DI001 25", "DAS 100" , "DI001 101"]}

df = pd.DataFrame(mydata)
print (df)

字符串
从这个 Dataframe df中,我想只分割出现在字符串最后一部分的数字。分割字符串不起作用,因为结尾的位数不是预定义的。它最多可以是3位。
预期输出:在“Sprint Number”列中,数据应显示如下。


的数据

iklwldmw

iklwldmw1#

这里有一个str.extract的解决方案。

>>> import pandas as pd
>>> 
>>> mydata = {
...     "Key": [567, 568, 569, 570, 571, 572],
...     "Sprint": ["Max1", "Max2", "DI001 2", "DI001 25", "DAS 100", "DI001 101"],
... }
>>> df = pd.DataFrame(mydata)
>>> print(df)
   Key     Sprint
0  567       Max1
1  568       Max2
2  569    DI001 2
3  570   DI001 25
4  571    DAS 100
5  572  DI001 101
>>> df["Sprint Number"] = df.Sprint.str.extract(r"(\d+)$").astype(int)
>>> print(df)
   Key     Sprint Sprint Number
0  567       Max1             1
1  568       Max2             2
2  569    DI001 2             2
3  570   DI001 25            25
4  571    DAS 100           100
5  572  DI001 101           101

字符串

相关问题