У меня есть набор данных, который содержит более 100 миллионов строк, которыми я пытаюсь манипулировать в пандах. Я пытаюсь нарезать строку в a
на основе значений в b
и c
в качестве начальной и конечной точек соответственно.
Я могу сделать это с помощью понимания списка следующим образом:
df['d'] = [a[1]['a'][a[1]['b']:a[1]['c']] for a in df.iterrows()]
Это действительно медленно. Я могу сделать то же самое с аппликацией, подобной этой:
df['d'] = df.apply(lambda x: x['a'][x['b']:x['c']],axis=1)
Это также довольно медленно. Мой вопрос: каков наиболее эффективный способ нарезать строки в a
, используя значения в b
и c
в качестве начала и конца для среза?