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)
从这个数据框“df”我想只分割出现在字符串最后部分的数字。字符串的分割不起作用,因为最后出现的位数不是预先定义的。最多可达 3 位数字。
预期输出:在“Sprint Number”列中,数据应如下所示。
这是一种带有
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"(?:\b)?(\d+)$")
>>> 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