Я знаю разницу между np.random.permutation
и np.random.shuffle
.
Но когда я использую np.random.permutation
для pd.Series
, это случайно приведет к изменению ряда на месте, а также к кадру данных визменение места.
Я знаю, как переставить его по-другому, но я хочу знать, если это проблема дизайна для numpy
или pandas
?
демоданные показывают:
import pandas as pd
import numpy as np
t = pd.Series([1,2,3,4])
#np.random.permutation(t)
assert all(t == np.random.permutation(t))
Это не повысит AssertionError
.Это выведет перемешанный массив.Но когда вы проверяете t
, он также меняется.
Если вы используете np.array
или list
, все будет в порядке.
t = np.array([1,2,3,4])
np.random.permutation(t)
assert all(t == np.random.permutation(t))
Это повысит AssertionError
.