2014-01-07 2 views
0

팬더 데이터 프레임 함수 rank이 반환 값에 정수와 부동 소수점의 혼합을 반환하는 조건이 있습니까? 아니면 출력이 항상 1 ... N 정수가 될 수 있습니까?팬더 순위 함수는 정수가 아닙니다.

+0

:'정의 : df.rank (자기, 축 = 0, numeric_only = 없음, 방법 = '평균', na_option = '유지', 오름차순 = True) Docstring : 축을 따라 숫자 데이터 순위 (1에서 n까지)를 계산합니다. 동일한 값은 에 해당 값의 순위 평균 인 순위가 할당되었으므로 동일한 값을 가진 항목이 여러 개있는 경우에는 그렇지 않습니다. – TomAugspurger

+0

@ TomAugspurger : 대답은 '아니요'입니다. 그렇다면 플로트 할 수 없습니까? – user248237dfsf

+0

수레가있을 수 있습니다. 'df = pd.DataFrame ({ "a": [1, 2, 3, 3, 4, 5]})에서'df.rank()'를 확인하십시오' – TomAugspurger

답변

6

@TomAugspurger가 표시합니다. 이들이 중복되면 정수가 아닐 수 있습니다. (하지만 어떤 경우에도 float64 dtype입니다.)

In [7]: DataFrame({'A' : Series([1,2,3,4]), 'B' : Series([1,1,1,1]) }).rank() 
Out[7]: 
    A B 
0 1 2.5 
1 2 2.5 
2 3 2.5 
3 4 2.5 

[4 rows x 2 columns] 

In [8]: DataFrame({'A' : Series([1,2,3,4]), 'B' : Series([1,1,1,1]) }).rank().dtypes 
Out[8]: 
A float64 
B float64 
dtype: object 

여러 순위 옵션

문서화 문자열에서
In [12]: DataFrame({'A' : Series([1,2,3,4]), 'B' : Series([1,1,1,1]) }).rank(method='min') 
Out[12]: 
    A B 
0 1 1 
1 2 1 
2 3 1 
3 4 1 

[4 rows x 2 columns] 

In [13]: DataFrame({'A' : Series([1,2,3,4]), 'B' : Series([1,1,1,1]) }).rank(method='max') 
Out[13]: 
    A B 
0 1 4 
1 2 4 
2 3 4 
3 4 4 

[4 rows x 2 columns] 

In [14]: DataFrame({'A' : Series([1,2,3,4]), 'B' : Series([1,1,1,1]) }).rank(method='first') 
Out[14]: 
    A B 
0 1 1 
1 2 2 
2 3 3 
3 4 4 

[4 rows x 2 columns] 
관련 문제