반응형
데이터 프레임 정렬 후 인덱스 업데이트
다음 데이터 프레임을 사용하십시오.
x = np.tile(np.arange(3),3)
y = np.repeat(np.arange(3),3)
df = pd.DataFrame({"x": x, "y": y})
x y
0 0 0
1 1 0
2 2 0
3 0 1
4 1 1
5 2 1
6 0 2
7 1 2
8 2 2
x
첫 번째 로 정렬하고 두 번째 로 정렬해야합니다 y
.
df2 = df.sort(["x", "y"])
x y
0 0 0
3 0 1
6 0 2
1 1 0
4 1 1
7 1 2
2 2 0
5 2 1
8 2 2
다시 오름차순으로 인덱스를 변경하려면 어떻게해야합니까? 즉, 어떻게 얻을 수 있습니까?
x y
0 0 0
1 0 1
2 0 2
3 1 0
4 1 1
5 1 2
6 2 0
7 2 1
8 2 2
나는 다음을 시도했다. 불행히도 색인을 전혀 변경하지 않습니다.
df2.reindex(np.arange(len(df2.index)))
를 사용하여 인덱스를 재설정 하여 reset_index
0, 1, 2, ..., n-1의 기본 인덱스를 되 찾을 수 있습니다 (그리고 drop=True
데이터 프레임에 추가 열로 추가하는 대신 기존 인덱스를 삭제하려는 것을 나타내는 데 사용 ). :
In [19]: df2 = df2.reset_index(drop=True)
In [20]: df2
Out[20]:
x y
0 0 0
1 0 1
2 0 2
3 1 0
4 1 1
5 1 2
6 2 0
7 2 1
8 2 2
df.sort()
더 이상 사용되지 않습니다 df.sort_values(...)
. https://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.sort_values.html을 사용합니다 .
그런 다음 수행하여 joris의 대답을 따르십시오. df.reset_index(drop=True)
다음을 사용하여 새 인덱스를 설정할 수 있습니다 set_index
.
df2.set_index(np.arange(len(df2.index)))
산출:
x y
0 0 0
1 0 1
2 0 2
3 1 0
4 1 1
5 1 2
6 2 0
7 2 1
8 2 2
참고URL : https://stackoverflow.com/questions/33165734/update-index-after-sorting-data-frame
반응형
'code' 카테고리의 다른 글
Alt + d 및 Alt + f와 같은 iTerm의 Bash 키보드 단축키 (0) | 2020.11.08 |
---|---|
VS Code의 작은 빨간색 화살표는 무엇입니까? (0) | 2020.11.08 |
git 내에서 .svn 폴더 제외 (0) | 2020.11.08 |
phonegap으로 안드로이드 에뮬레이터에서 자바 스크립트 디버그 (0) | 2020.11.08 |
HTML에서 여러 행에 걸쳐있는 테이블 헤더를 어떻게 구성 할 수 있습니까? (0) | 2020.11.08 |