pandas 메모

배우는 메모로서 pandas 주변의 코드를 치트 시트 대신 자신의 참고 용으로 정리하고 있습니다.

1. pandas 가져오기
import pandas as pd

2. DataFrame을 만드는 방법
사전에서 작성하는 방법과 CSV 파일에서 읽는 방법의 두 가지가 있습니다.
① 사전에서 작성하는 방법
import pandas as pd
dict = {"name":["Hokkaido","Tokyo","Aichi","Osaka"],
        "capital":["Sapporo","Shinzyuku","Nagoya","Osaka"],
        "area":[83424,2191,5172,1905],
        "population":[5286,13822,7537,8813]}
prefecture = pd.DataFrame(dict)
prefecture



②CSV 파일에서 읽는 방법
import pandas as pd
#read_csv関数を使用
prefecture = pd.read_csv("path/to/prefecture.csv")

하지만, 이대로는 csv 파일의 행 라벨이, 그 자체가 열로서 인식되어 버리기 때문에, 최초의 열에 행 인덱스가 포함되어 있는 것을 이하와 같이 알려준다.
import pandas as pd
#index_col=0とすることで、インデックスが0である列が行ラベルであることを知らせる
prefecture = pd.read_csv("path/to/prefecture.csv", index_col = 0)

3. 행 레이블 설정
prefecture.index = ["北海道","東京","愛知","大阪"]



4. DataFrame에서 데이터 선택
괄호("[]")를 이용하는 방법과 loc나 iloc등의 액세스 메소드를 이용하는 방법의 2종류가 있다.
①[]를 이용하는 방법
#nameの列のみを選択
prefecture["name"]


하지만, 이 방법으로 꺼낸 데이터형은 pandasSeries라고 하는 데이터형이며, DataFrame이 아니다. DataFrame으로 데이터를 검색하려면 다음과 같이 []를 이중으로 작성한다.
#角括弧を二重にすることでデータ型をDataFrameにしたままデータを抽出
prefecture[["name"]]



또한 다음과 같이 여러 열을 검색 할 수 있습니다.
#複数の列を選択できる
prefecture[["name","capital"]]



옆의 행을 꺼내기 위해서는 슬라이스를 사용한다.
prefecture[1:3]



②loc, iloc을 이용하는 방법
loc은 라벨에 따라 데이터를 선택하고 iloc은 위치에 따라 데이터를 선택할 수 있습니다.
loc은, 이하와 같이 Dataframe명.loc["행 라벨"]이라고 기술하면, 그 행의 데이터를 선택할 수 있다.
prefecture.loc["東京"]


하지만, 이 방식에서는 아직 데이터형이 DataFrame이 아니게 되어 버리기 때문에, DataFrame으로서 선택하고 싶은 경우는 대괄호를 이중으로 이용한다.
prefecture.loc[["東京"]]



다음과 같이 기술함으로써 복수의 행을 선택할 수있다.
prefecture.loc[["東京","愛知"]]



또한, 이하와 같이 기술하면, 열도 지정할 수 있고, 지정한 행과 열의 교차점만의 데이터를 선택할 수 있다.
prefecture.loc[["東京","愛知"],["name","capital"]]


리스트와 마찬가지로 ":"만으로 전체 선택을 의미한다.
#":"を用いて、行を全選択
prefecture.loc[:,["name","capital"]]



 iloc은 loc에서 행 라벨을 사용하는 대신 인덱스를 사용.
#下記2つは全く同じ結果を返す。
prefecture.loc[["東京"]]
prefecture.iloc[[1]]

#下記2つは全く同じ結果を返す。
prefecture.loc[["東京","愛知"]]
prefecture.iloc[[1,2]]

#下記2つは全く同じ結果を返す。
prefecture.loc[["東京","愛知"],["name","capital"]]
prefecture.iloc[[1,2],[0,1]]

#下記2つは全く同じ結果を返す。
prefecture.loc[:,["name","capital"]]
prefecture.iloc[:,[0,1]]

좋은 웹페이지 즐겨찾기