programing

'DataFrame' 개체에 'sort' 특성이 없습니다.

telebox 2023. 7. 21. 21:31
반응형

'DataFrame' 개체에 'sort' 특성이 없습니다.

여기서 문제가 발생했습니다. 파이썬 패키지에 설치했습니다.numpy하지만 여전히 다음과 같은 오류가 있습니다.

'DataFrame' 개체에 'sort' 특성이 없습니다.

아무나 나에게 아이디어를 줄 수 있습니다.

내 코드입니다.

final.loc[-1] =['', 'P','Actual']
final.index = final.index + 1  # shifting index
final = final.sort()
final.columns=[final.columns,final.iloc[0]]
final = final.iloc[1:].reset_index(drop=True)
final.columns.names = (None, None)

sort()다음 중 하나를 위해 DataFrames에서 더 이상 사용되지 않습니다.

sort()0.17(2015-10-09) 릴리즈와 함께 Pandas에서 권장되지 않습니다(그러나 여전히 사용 가능).sort_values()그리고.sort_index()0.20(2017-05-05) 릴리스와 함께 판다에서 제거되었습니다.

판다 분류 101

sortv0.20에서 와 로 대체되었습니다. 이 외에도, 우리는 또한argsort.

다음은 정렬의 일반적인 사용 사례와 현재 API의 정렬 기능을 사용하여 해결하는 방법입니다.먼저 설정입니다.

# Setup
np.random.seed(0)
df = pd.DataFrame({'A': list('accab'), 'B': np.random.choice(10, 5)})    
df                                                                                                                                        
   A  B
0  a  7
1  c  9
2  c  3
3  a  5
4  b  2

단일 열로 정렬

예를 들어, 정렬 방법df열 "A"를 기준으로,sort_values단일 열 이름으로:

df.sort_values(by='A')

   A  B
0  a  7
3  a  5
4  b  2
1  c  9
2  c  3

새 RangeIndex가 필요한 경우 를 사용합니다.

여러 열로 정렬

예를 들어, "A" 및 "B" 열을 기준으로 정렬하는 방법df목록을 에 전달할 수 있습니다.sort_values:

df.sort_values(by=['A', 'B'])

   A  B
3  a  5
0  a  7
4  b  2
2  c  3
1  c  9

데이터 프레임 인덱스별 정렬

df2 = df.sample(frac=1)
df2

   A  B
1  c  9
0  a  7
2  c  3
3  a  5
4  b  2

다음을 사용하여 이 작업을 수행할 수 있습니다.sort_index:

df2.sort_index()

   A  B
0  a  7
1  c  9
2  c  3
3  a  5
4  b  2

df.equals(df2)                                                                                                                            
# False
df.equals(df2.sort_index())                                                                                                               
# True

다음은 성능과 비교할 수 있는 몇 가지 방법입니다.

%timeit df2.sort_index()                                                                                                                  
%timeit df2.iloc[df2.index.argsort()]                                                                                                     
%timeit df2.reindex(np.sort(df2.index))                                                                                                   

605 µs ± 13.6 µs per loop (mean ± std. dev. of 7 runs, 1000 loops each)
610 µs ± 24.2 µs per loop (mean ± std. dev. of 7 runs, 1000 loops each)
581 µs ± 7.63 µs per loop (mean ± std. dev. of 7 runs, 1000 loops each)

인덱스 목록별 정렬

예를들면,

idx = df2.index.argsort()
idx
# array([0, 7, 2, 3, 9, 4, 5, 6, 8, 1])

이 "정렬" 문제는 실제로 간단한 인덱싱 문제입니다.정수 레이블을 전달하는 중iloc할 거다.

df.iloc[idx]

   A  B
1  c  9
0  a  7
2  c  3
3  a  5
4  b  2

언급URL : https://stackoverflow.com/questions/44123874/dataframe-object-has-no-attribute-sort

반응형