본문 바로가기
파이썬

파이썬 인덱스 판다 데이터 프레임 비활성화

by º기록 2021. 1. 9.
반응형

Pandas Dataframe에서 인덱스를 삭제하거나 비활성화하려면 어떻게해야합니까?

저는 "데이터 분석을위한 파이썬"책에서 판다를 배우고 있으며, 이미 dataframe.drop을 사용하여 하나의 열 또는 하나의 행을 삭제할 수 있다는 것을 알고 있습니다. 그러나 모든 인덱스를 비활성화하는 방법에 대해서는 아무것도 찾지 못했습니다.

 

해결 방법

 

df.values ​​는 인덱스없이 원시 NumPy ndarray 를 제공합니다.

>>> df
   x   y
0  4  GE
1  1  RE
2  1  AE
3  4  CD
>>> df.values
array([[4, 'GE'],
       [1, 'RE'],
       [1, 'AE'],
       [4, 'CD']], dtype=object)

인덱스 없이는 DataFrame을 가질 수 없으며 DataFrame의 전체 포인트입니다. :)

그러나 명확히하기 위해이 작업은 제자리 가 아닙니다.

>>> df.values is df.values
False

DataFrame은 데이터를 유형별로 그룹화 된 2 차원 배열로 유지하므로 전체 데이터 프레임을 원할 때 모든 dtype의 LCD를 찾아 해당 유형의 2D 배열을 구성해야합니다.

이전 데이터 프레임의 값으로 새 데이터 프레임을 인스턴스화하려면 이전 DataFrame을 새 생성자에 전달하기 만하면 데이터가 복사되지 않습니다. 동일한 데이터 구조가 재사용됩니다.

>>> df1 = pd.DataFrame([[1, 2], [3, 4]])
>>> df2 = pd.DataFrame(df1)
>>> df2.iloc[0,0] = 42
>>> df1
    0  1
0  42  2
1   3  4

그러나 copy 매개 변수를 명시 적으로 지정할 수 있습니다.

>>> df1 = pd.DataFrame([[1, 2], [3, 4]])
>>> df2 = pd.DataFrame(df1, copy=True)
>>> df2.iloc[0,0] = 42
>>> df1
   0  1
0  1  2
1  3  4

 

참조 페이지 https://stackoverflow.com/questions/18290123

 

 

반응형

댓글