열에서 고유한 값을 찾은 다음 정렬합니다.
팬더 데이터 프레임이 있어요열 중 하나의 고유한 값을 오름차순으로 인쇄하려고 합니다.저는 이렇게 하고 있습니다.
import pandas as pd
df = pd.DataFrame({'A':[1,1,3,2,6,2,8]})
a = df['A'].unique()
print a.sort()
문제는 제가 이 병에 걸린다는 것입니다.None
출력에 사용합니다.
: 반복 가능한 항목에서 새 정렬 목록을 반환합니다sorted(iterable)
.
코드
import pandas as pd
df = pd.DataFrame({'A':[1,1,3,2,6,2,8]})
a = df['A'].unique()
print(sorted(a))
산출량
[1, 2, 3, 6, 8]
sort
sort in place를 지정하면 아무것도 반환되지 않습니다.
In [54]:
df = pd.DataFrame({'A':[1,1,3,2,6,2,8]})
a = df['A'].unique()
a.sort()
a
Out[54]:
array([1, 2, 3, 6, 8], dtype=int64)
그래서 네가 전화해야 해print a
에의 호출 후에 다시sort
.
예:
In [55]:
df = pd.DataFrame({'A':[1,1,3,2,6,2,8]})
a = df['A'].unique()
a.sort()
print(a)
[1 2 3 6 8]
unique() 대신 drop_duplicates()를 사용할 수도 있습니다.
df = pd.DataFrame({'A':[1,1,3,2,6,2,8]})
a = df['A'].drop_duplicates()
a.sort()
print a
저는 오넬리너가 더 좋아요.
print(sorted(df['Column Name'].unique()))
오늘 제가 직접 그 질문을 했습니다.당신의 코드가 '없음'을 반환하는 이유(정확히 같은 방법으로 얻은 것)는
a.sort()
는 정렬 함수를 호출하여 목록을 변환합니다.이것은 수정 명령어인 것으로 알고 있습니다.결과를 보려면 print(a)를 사용해야 합니다.
제 해결책은 판다에게 모든 것을 맡기려고 노력했습니다.
pd.Series(df['A'].unique()).sort_values()
가장 빠른 코드
대규모 데이터 프레임의 경우:
df['A'].drop_duplicates().sort_values()
판다가 뒤에서 하는 일이기 때문에 numpy 종류를 사용하는 것이 좋습니다.
import numpy as np
np.sort(df.A.unique())
하지만 판다에게 모든 것을 하는 것 또한 유효하다.
또 다른 방법은 데이터 유형 집합을 사용하는 것입니다.
집합의 일부 특징: 집합은 순서가 매겨져 있지 않고 혼합된 데이터 유형을 포함할 수 있으며 집합 내의 요소를 반복할 수 없으며 가변적입니다.
질문 해결:
df = pd.DataFrame({'A':[1,1,3,2,6,2,8]})
sorted(set(df.A))
List type의 답변:
[1, 2, 3, 6, 8]
언급URL : https://stackoverflow.com/questions/32072076/find-the-unique-values-in-a-column-and-then-sort-them
'programing' 카테고리의 다른 글
휴지 상태:MyISAM 대신 Mysql InnoDB 테이블 생성 (0) | 2022.09.05 |
---|---|
REST - JSON을 사용한HTTP 포스트 멀티파트 (0) | 2022.09.05 |
@유효한 주석으로 하위 개체 목록의 유효성을 검사하지 않습니다. (0) | 2022.09.05 |
VueJS: 렌더 함수에서 계산된 값에 액세스하는 방법 (0) | 2022.09.05 |
auto_increment id가 1개씩 증가하지 않는 이유는 무엇입니까?설정 방법은? (0) | 2022.09.04 |