TL; DR: np.random.shuffle[ndarray]
có thể thực hiện công việc. Vì vậy, trong trường hợp của bạn: np.random.shuffle[ndarray]
can do the job.
So, in your case
np.random.shuffle[DataFrame.values]
DataFrame
, dưới mui xe, sử dụng Numpy Ndarray làm người giữ dữ liệu. [Bạn có thể kiểm tra từ mã nguồn DataFrame]
Vì vậy, nếu bạn sử dụng np.random.shuffle[]
, nó sẽ xáo trộn mảng dọc theo trục đầu tiên của một mảng đa chiều. Nhưng chỉ số của DataFrame
vẫn không bị xáo trộn.
Mặc dù, có một số điểm để xem xét.
- chức năng trả về không. Trong trường hợp bạn muốn giữ một bản sao của đối tượng gốc, bạn phải làm như vậy trước khi chuyển đến hàm.
0, như người dùng TJ89 đề xuất, có thể chỉ địnhnd = sklearn.utils.shuffle[nd]
1 cùng với một tùy chọn khác để kiểm soát đầu ra. Bạn có thể muốn điều đó cho mục đích dev.nd = sklearn.utils.shuffle[nd]
0 nhanh hơn. Nhưng sẽ xáo trộn thông tin trục [chỉ mục, cột] củand = sklearn.utils.shuffle[nd]
DataFrame
cùng với
4 mà nó chứa.nd = sklearn.utils.shuffle[nd]
Kết quả điểm chuẩn
giữa
nd = sklearn.utils.shuffle[nd]
0 và np.random.shuffle[]
.ndarray
nd = sklearn.utils.shuffle[nd]
0.10793248389381915 giây. Nhanh hơn 8 lần8x faster
np.random.shuffle[nd]
0,8897626010002568 giây
Khung dữ liệu
df = sklearn.utils.shuffle[df]
0.3183923360193148 giây. Nhanh hơn 3 lần3x faster
np.random.shuffle[df.values]
0,9357550159329548 giây
Kết luận: Nếu thông tin trục không ổn [chỉ mục, cột] sẽ bị xáo trộn cùng với NDarray, hãy sử dụng ____10. Nếu không, hãy sử dụng
np.random.shuffle[]
Mã đã sử dụng
import timeit
setup = '''
import numpy as np
import pandas as pd
import sklearn
nd = np.random.random[[1000, 100]]
df = pd.DataFrame[nd]
'''
timeit.timeit['nd = sklearn.utils.shuffle[nd]', setup=setup, number=1000]
timeit.timeit['np.random.shuffle[nd]', setup=setup, number=1000]
timeit.timeit['df = sklearn.utils.shuffle[df]', setup=setup, number=1000]
timeit.timeit['np.random.shuffle[df.values]', setup=setup, number=1000]
Pythonbenchmark
Xem thảo luận
Cải thiện bài viết
Lưu bài viết
Xem thảo luận
Cải thiện bài viết
Lưu bài viết
Đọc
Bàn luận
- Hãy cho chúng tôi xem làm thế nào để xáo trộn các hàng của DataFrame. Chúng tôi sẽ sử dụng phương pháp
9 của mô -đun Pandas để xáo trộn các hàng dữ liệu xáo trộn ngẫu nhiên trong gấu trúc.nd = sklearn.utils.shuffle[nd]
- Thuật toán:
- Nhập
0andnp.random.shuffle[nd]
1Modules.np.random.shuffle[nd]
- In bản gốc và các khung dữ liệu xáo trộn.
np.random.shuffle[nd]
4 np.random.shuffle[nd]
5np.random.shuffle[nd]
4 np.random.shuffle[nd]
7np.random.shuffle[nd]
8np.random.shuffle[nd]
9 df = sklearn.utils.shuffle[df]
0df = sklearn.utils.shuffle[df]
1df = sklearn.utils.shuffle[df]
2df = sklearn.utils.shuffle[df]
3df = sklearn.utils.shuffle[df]
4df = sklearn.utils.shuffle[df]
5df = sklearn.utils.shuffle[df]
4df = sklearn.utils.shuffle[df]
7df = sklearn.utils.shuffle[df]
8df = sklearn.utils.shuffle[df]
9np.random.shuffle[df.values]
0df = sklearn.utils.shuffle[df]
4np.random.shuffle[df.values]
2df = sklearn.utils.shuffle[df]
4np.random.shuffle[df.values]
4df = sklearn.utils.shuffle[df]
8df = sklearn.utils.shuffle[df]
9np.random.shuffle[df.values]
7df = sklearn.utils.shuffle[df]
4np.random.shuffle[df.values]
9df = sklearn.utils.shuffle[df]
4import timeit
setup = '''
import numpy as np
import pandas as pd
import sklearn
nd = np.random.random[[1000, 100]]
df = pd.DataFrame[nd]
'''
timeit.timeit['nd = sklearn.utils.shuffle[nd]', setup=setup, number=1000]
timeit.timeit['np.random.shuffle[nd]', setup=setup, number=1000]
timeit.timeit['df = sklearn.utils.shuffle[df]', setup=setup, number=1000]
timeit.timeit['np.random.shuffle[df.values]', setup=setup, number=1000]
1df = sklearn.utils.shuffle[df]
4import timeit
setup = '''
import numpy as np
import pandas as pd
import sklearn
nd = np.random.random[[1000, 100]]
df = pd.DataFrame[nd]
'''
timeit.timeit['nd = sklearn.utils.shuffle[nd]', setup=setup, number=1000]
timeit.timeit['np.random.shuffle[nd]', setup=setup, number=1000]
timeit.timeit['df = sklearn.utils.shuffle[df]', setup=setup, number=1000]
timeit.timeit['np.random.shuffle[df.values]', setup=setup, number=1000]
3import timeit
setup = '''
import numpy as np
import pandas as pd
import sklearn
nd = np.random.random[[1000, 100]]
df = pd.DataFrame[nd]
'''
timeit.timeit['nd = sklearn.utils.shuffle[nd]', setup=setup, number=1000]
timeit.timeit['np.random.shuffle[nd]', setup=setup, number=1000]
timeit.timeit['df = sklearn.utils.shuffle[df]', setup=setup, number=1000]
timeit.timeit['np.random.shuffle[df.values]', setup=setup, number=1000]
4import timeit
setup = '''
import numpy as np
import pandas as pd
import sklearn
nd = np.random.random[[1000, 100]]
df = pd.DataFrame[nd]
'''
timeit.timeit['nd = sklearn.utils.shuffle[nd]', setup=setup, number=1000]
timeit.timeit['np.random.shuffle[nd]', setup=setup, number=1000]
timeit.timeit['df = sklearn.utils.shuffle[df]', setup=setup, number=1000]
timeit.timeit['np.random.shuffle[df.values]', setup=setup, number=1000]
5import timeit
setup = '''
import numpy as np
import pandas as pd
import sklearn
nd = np.random.random[[1000, 100]]
df = pd.DataFrame[nd]
'''
timeit.timeit['nd = sklearn.utils.shuffle[nd]', setup=setup, number=1000]
timeit.timeit['np.random.shuffle[nd]', setup=setup, number=1000]
timeit.timeit['df = sklearn.utils.shuffle[df]', setup=setup, number=1000]
timeit.timeit['np.random.shuffle[df.values]', setup=setup, number=1000]
6df = sklearn.utils.shuffle[df]
2import timeit
setup = '''
import numpy as np
import pandas as pd
import sklearn
nd = np.random.random[[1000, 100]]
df = pd.DataFrame[nd]
'''
timeit.timeit['nd = sklearn.utils.shuffle[nd]', setup=setup, number=1000]
timeit.timeit['np.random.shuffle[nd]', setup=setup, number=1000]
timeit.timeit['df = sklearn.utils.shuffle[df]', setup=setup, number=1000]
timeit.timeit['np.random.shuffle[df.values]', setup=setup, number=1000]
8df = sklearn.utils.shuffle[df]
4np.random.shuffle[ndarray]
0df = sklearn.utils.shuffle[df]
4np.random.shuffle[ndarray]
2df = sklearn.utils.shuffle[df]
4np.random.shuffle[ndarray]
4df = sklearn.utils.shuffle[df]
4np.random.shuffle[ndarray]
6df = sklearn.utils.shuffle[df]
8np.random.shuffle[ndarray]
8np.random.shuffle[ndarray]
9
df = sklearn.utils.shuffle[df]
4DataFrame
1df = sklearn.utils.shuffle[df]
4DataFrame
3df = sklearn.utils.shuffle[df]
4DataFrame
5df = sklearn.utils.shuffle[df]
4DataFrame
7DataFrame
8DataFrame
9
np.random.shuffle[nd]
9 np.random.shuffle[]
1np.random.shuffle[]
2np.random.shuffle[]
3np.random.shuffle[]
4np.random.shuffle[]
5
np.random.shuffle[]
2np.random.shuffle[]
7
‘
np.random.shuffle[]
2np.random.shuffle[]
3DataFrame
6np.random.shuffle[]
5
np.random.shuffle[]
2np.random.shuffle[]
7
Đầu ra: