바뀜

둘러보기로 가기 검색하러 가기
2,762 바이트 추가됨 ,  2023년 2월 1일 (수) 12:07
잔글
Sam님이 Pandas:DataFrame:구조파악 문서를 Pandas:DataFrame:구조 파악 문서로 이동했습니다
2번째 줄: 2번째 줄:  
{| class="wikitable"
 
{| class="wikitable"
 
!의도
 
!의도
 +
!설명
 
!방법
 
!방법
 
|-
 
|-
|df의 전체적인 데이터를 파악한다.
+
|df의 전체적인 데이터를 파악
|객체명.describe()
+
|요약통계.
해당 칼럼의 갯수, 평균, std(standard deviation), 분표별 값 등을 알 수 있다.
+
해당 칼럼의 갯수, 평균, std(standard deviation), 사분위수, 최댓값, 최솟값을 알 수 있다.
 +
 
 +
문자에 대한 통계는 나오지 않는데, 옵션에 include='all'을 넣으면 문자에 대한 통계도 볼 수 있다.
 +
|df.describe()
 +
|-
 +
|df의 변수(열)속성을 파악
 +
|각 열의 데이터타입과 속한 데이터 갯수, df가 차지하는 메모리를 보여준다.
 +
|df.info()
 
|-
 
|-
 
|df 대략적인 구조 파악
 
|df 대략적인 구조 파악
 +
|df의 행과 열 갯수를 반환한다.
 +
함수가 아니라 속성.
 
|df.shape
 
|df.shape
 
{| class="wikitable"
 
{| class="wikitable"
20번째 줄: 30번째 줄:  
|df.shape[1]
 
|df.shape[1]
 
|}
 
|}
 +
|-
 +
|행 갯수
 +
|
 +
|len(df)
 
|-
 
|-
 
|칼럼목록
 
|칼럼목록
 +
|칼럼목록을 얻는다.
 
|데이터프레임.columns
 
|데이터프레임.columns
칼럼목록을 얻는다.
   
|-
 
|-
 
|행목록
 
|행목록
 +
|인덱스 목록을 얻는다.
 
|데이터프레임.index
 
|데이터프레임.index
인덱스 목록을 얻는다.
+
|}
 +
 
 +
=== dataframe 전체를 보고 싶을 때 ===
 +
{| class="wikitable"
 +
!의도
 +
!방법
 
|-
 
|-
|행 갯수
+
|df가 커지면 중간이 잘리는데, 다음의 옵션으로 전체를 볼 수 있다.
|len(df)
+
|pd.set_option('display.max_columns', None)  # 모든 열 보기
 +
pd.set_option('display.max_rows', None)  # 모든 보기
 +
 
 +
 
 +
pd.set_option('display.max_columns')  # 열 관련 설정 되돌리기.
 +
 
 +
pd.set_option('display.max_rows')  # 행 관련 설정 되돌리기.
 +
 
 +
pd.set_option('all') # 모든 설정 되돌리기.
 
|}
 
|}
   47번째 줄: 75번째 줄:     
= 열 조작 =
 
= 열 조작 =
 +
 +
== 열 이름 바꾸기 ==
 +
다른 매체에 저장했다가 다시 복구할 때 열 이름, 인덱스 따위가 제대로 지정되지 않는 경우가 있다.<syntaxhighlight lang="python">
 +
df.rename(columns={0:'time', 1:'start', 2:'close', 3:'high', 4:'low', 5:'volume'}, inplace=True)
 +
</syntaxhighlight>inplace=True는 해당 df에 적용하겠다는 의미. 일반적으로 원본 데이터 손실을 막기 위해 df_copy = rename(.... inplace=False) 형태로 사용한다.
 +
 +
일반적으로 기본 설정은 False.
 +
 +
다음과 같은 형태로 사용도 가능하다.<syntaxhighlight lang="python">
 +
df = df.rename(columns={0:'time', 1:'start', 2:'close', 3:'high', 4:'low', 5:'volume'})
 +
</syntaxhighlight>
    
== 열 추가하기 ==
 
== 열 추가하기 ==
57번째 줄: 96번째 줄:  
df = df[['열1', '열3', '열4', '열2']]  # 열1,2,3,4 순인 df의 열을 1342 순으로 바꿀 수 있다.
 
df = df[['열1', '열3', '열4', '열2']]  # 열1,2,3,4 순인 df의 열을 1342 순으로 바꿀 수 있다.
 
</syntaxhighlight>
 
</syntaxhighlight>
 +
 +
=== 특정 열만 남기기 ===
 +
<syntaxhighlight lang="python">
 +
df = df[['열1', '열3']]  # 남기고 싶은 열만 쓰면 남는다.
 +
</syntaxhighlight>
 +
==인덱스 조작==
 +
{| class="wikitable"
 +
!의도
 +
!방법
 +
!설명
 +
|-
 +
|인덱스 설정
 +
|df.set_index('열', inplace=True)
 +
|해당 열을 인덱스로 만든다.
 +
|-
 +
|인덱스를 데이터화
 +
|df = df.reset_index
 +
|숫자 인덱스가 아닌 경우 사용. 인덱스 목록을 뽑아낼 때의 사전작업.
 +
(엑셀에서 불러왔을 때 필요하다.)
 +
|-
 +
|인덱스리스트 얻기
 +
|list(데이터프레임['''<nowiki/>'인덱스열이름''''])'''<nowiki/><nowiki/><nowiki/>'''
 +
데이터프레임.index
 +
|위에서 얻은 인덱스 열이름을 기입해 넣거나('''<nowiki/>'Unnamed: 0'),<nowiki/><nowiki/><nowiki/>'''
 +
바로 인덱스를 불러오기.(둘 다 시도해 볼 것.)
 +
|-
 +
|인덱스 이름 바꾸기
 +
|데이터프레임.rename(index={'기존이름':'신이름'})
 +
|
 +
|-
 +
|데이터 크기 살피기
 +
|len(df.index)
 +
|
 +
|-
 +
|인덱스 이어붙이기(행 합치기)
 +
|df = pd.concat([df1, df2, df3,...])
 +
|이렇게 쓰면 인덱스들을 이어붙인다.
 +
|-
 +
|뒤의 i개만 남기기
 +
|df = df.tail(i)
 +
|
 +
|}
 
[[분류:Pandas:DataFrame]]
 
[[분류:Pandas:DataFrame]]

둘러보기 메뉴