回答編集履歴
1
パフォーマンス意識
answer
CHANGED
@@ -3,7 +3,7 @@
|
|
3
3
|
import pandas as pd
|
4
4
|
|
5
5
|
df = pd.DataFrame({'A':range(10), 'B':range(10), 'C':range(10)})
|
6
|
-
np.random.shuffle(df.loc[:, 'A'])
|
6
|
+
np.random.shuffle(df.loc[:, 'A'].to_numpy())
|
7
7
|
|
8
8
|
print(df)
|
9
9
|
# A B C
|
@@ -17,4 +17,12 @@
|
|
17
17
|
# 7 4 7 7
|
18
18
|
# 8 1 8 8
|
19
19
|
# 9 9 9 9
|
20
|
+
```
|
21
|
+
|
22
|
+
```Python
|
23
|
+
>>> %timeit df.iloc[:,0] = df.iloc[:,0].sample(frac=1).reset_index(drop=True)
|
24
|
+
412 µs ± 1.72 µs per loop (mean ± std. dev. of 7 runs, 1000 loops each)
|
25
|
+
|
26
|
+
>>> %timeit np.random.shuffle(df.loc[:, 'A'].to_numpy())
|
27
|
+
40.3 µs ± 117 ns per loop (mean ± std. dev. of 7 runs, 10000 loops each)
|
20
28
|
```
|