我在pandas dataframe中有一列,如下所示:
Manufacture_Id Score Rank
0 S1 93 1
1 S1 91 2
2 S1 86 3
3 S2 88 1
4 S25 73 2
5 S100 72 3
6 S100 34 1
7 S100 24 2
我想将“制造Id”列中的结束编号提取到一个新列中,如下所示:
Manufacture_Id Score Rank Id
0 S1 93 1 1
1 S1 91 2 1
2 S1 86 3 1
3 S2 88 1 2
4 S25 73 2 25
5 S100 72 3 100
6 S100 34 1 100
7 S100 24 2 100
我已经编写了下面的代码,它给出了结果,但是当数据变大时,它是无效的
test['id'] = test.Manufacture_Id.str.extract(r'(\d+\.\d+|\d+)')
有没有有效的方法
数据:
#Ceate dataframe
data = [
["S1",93,1],
["S1",91,2],
["S1",86,3],
["S2",88,1],
["S25",73,2],
["S100",72,3],
["S100",34,1],
["S100",24,2],
]
#dataframe
test = pd.DataFrame(data, columns = ['Manufacture_Id', 'Score', 'Rank'])
下面的代码将比正则表达式更有效
但是如果
S
不是常量,那么您可以尝试以下代码段相关问题 更多 >
编程相关推荐