Для df этого размера используйте floordiv
и mod
:
In[141]:
df['B'] = df['A'].floordiv(10)
df['C'] = df['A'].mod(10)
df
Out[141]:
A B C
0 12 1 2
1 24 2 4
2 36 3 6
3 48 4 8
Существуют также numpy
эквиваленты, np.floor_divide
и np.mod
:
In[142]:
df['B'] = np.floor_divide(df['A'],10)
df['C'] = np.mod(df['A'],10)
df
Out[142]:
A B C
0 12 1 2
1 24 2 4
2 36 3 6
3 48 4 8
Numpy версии быстрее:
%%timeit
df['B'] = df['A'].floordiv(10)
df['C']= df['A'].mod(10)
1000 loops, best of 3: 733 µs per loop
%%timeit
df['B'] = np.floor_divide(df['A'],10)
df['C'] = np.mod(df['A'],10)
1000 loops, best of 3: 491 µs per loop