Python 3.x Python-groupby+;转换+;子串

Python 3.x Python-groupby+;转换+;子串,python-3.x,pandas,pandas-groupby,Python 3.x,Pandas,Pandas Groupby,我试图使用其他两列作为索引,从pandas数据帧中的字符串中提取值 我的数据是这样的 Address second_dot third_dot 0 1.273.1735.0 5 10 1 1.263.48.0 5 8 2 1.273.1341.0 5 10 3 1.273.1527.0 5 10

我试图使用其他两列作为索引,从pandas数据帧中的字符串中提取值

我的数据是这样的

  Address          second_dot  third_dot  
0  1.273.1735.0           5         10  
1    1.263.48.0           5          8  
2  1.273.1341.0           5         10  
3  1.273.1527.0           5         10  
4  1.273.1379.0           5         10  
5  1.273.1094.0           5         10  
6   1.273.845.0           5          9  
7  1.273.1393.0           5         10  
8   1.275.988.0           5          9  
9   1.273.973.0           5          9  

在第二列和第三列中,我存储了“.”字符在“地址”列中的位置。我想做的是从每行中提取第二个和第三个点之间的所有字符

结果应该是这样的:

 Result
    273
    263
    273
    273
    273
    273
    273
    273
    275
    273 
我已经通过使用axis 1上的apply(应用于axis 1)和自定义函数成功地实现了这一点,但时间太长了(我的数据帧中有数百万条记录。考虑到地址是跨行重复的,我正在尝试按计算分组,希望加快速度)

这是我最后一次尝试,但没有成功

df.groupby(['Address']).transform(lambda x : 
x['Address'].str[x['first_dot']:x['second_dot']])
我得到错误-->
keyrerror:(“地址”,“发生在索引机器标识符上”)。

MachineIdentifier是我的df的第一列(不是索引,是普通列)


提前非常感谢

“从每行中提取第二个和第三个点之间的所有字符”…但是“结果273 263 273 273 273 273 273 275 273”在第一个和第二个点之间?从每行中提取第二个和第三个点之间的所有字符”…但是“结果273 263 273 273 273 273 273 273 275 273”在第一个和第二个点之间?