本文共 1348 字,大约阅读时间需要 4 分钟。
当对 dataframe.index.values 返回值进行修改时,也会影响到 dataframe 的 index。
a = pd.DataFrame(np.array(range(16)).reshape(4, 4))print(a)========================= 0 1 2 30 0 1 2 31 4 5 6 72 8 9 10 113 12 13 14 15=========================a_index = a.index.valuesrandom.shuffle(a_index)print(a_index)print(a)=========================[1 0 3 2] 0 1 2 31 0 1 2 30 4 5 6 73 8 9 10 112 12 13 14 15=========================a_index[1] = 9print(a_index)print(a)=========================[1 9 3 2] 0 1 2 31 0 1 2 39 4 5 6 73 8 9 10 112 12 13 14 15=========================
若只需要 index 的信息,不希望对 index 修改时会影响到 dataframe,应当用 dataframe.index.to_numpy(copy=True) 或者 dataframe.index.values.copy()
a = pd.DataFrame(np.array(range(16)).reshape(4, 4))print(a)========================= 0 1 2 30 0 1 2 31 4 5 6 72 8 9 10 113 12 13 14 15=========================a_index = a.index.to_numpy(copy=True) random.shuffle(a_index)print(a_index)print(a)=========================[0 2 1 3] 0 1 2 30 0 1 2 31 4 5 6 72 8 9 10 113 12 13 14 15=========================a_index[1] = 9print(a_index)print(a)=========================[0 9 1 3] 0 1 2 30 0 1 2 31 4 5 6 72 8 9 10 113 12 13 14 15=========================
转载地址:http://xkksi.baihongyu.com/