我正在尝试使用其他两列作为索引从熊猫数据框中的字符串中提取值。
我的数据如下。
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
在second_dot和third_dot列中,我存储了“。”列中“ address”列中的位置。字符。我想做的是从每一行中提取第二个和第三个点之间的所有字符。
结果应该是这样的:
Result
273
263
273
273
273
273
273
273
275
273
我已经设法通过在轴1上使用带有自定义功能的apply来做到这一点,但是它花费的时间太长(我的数据帧中有数百万或记录。考虑到地址在行上重复,我我试图按计算分组,希望能加快速度。
这是我的最后一次尝试,但不起作用。
df.groupby(['Address']).transform(lambda x :
x['Address'].str[x['first_dot']:x['second_dot']])
我收到错误-> KeyError: ('Address', 'occurred at index MachineIdentifier').
MachineIdentifier是我df的第一列(不是索引,是普通列)
非常感谢