본문 바로가기

PYTHON/Pandas

dataframe

import pandas as pd

create

딕셔너리 데이터로 만들기

dic = {
    "Name" : ["lahong", "kkito"],
    "email" : ["lahong@gmail.com", "kkito@naver.com"],
    "id" : [1, 2],
}

df = pd.DataFrame(dic)

리스트로 만들기

ls = [
    {"Name" : "lahong", "email" : "lahong@gmail.com", "id" :1},
    {"Name" : "kkito", "email" : "kkito@naver.com", "id" :2}
]

df = pd.DataFrame(ls)

    Name    email                id
0    lahong    lahong@gmail.com    1
1    kkito    kkito@naver.com     2

인덱스 설정

idx = ["one", "two"]
df = pd.DataFrame(ls, index=idx)
  • set_index : 기존 인덱스 제거, 데이터 열 중 하나를 인덱스로 설정
  • reset_index : 기존 인덱스 제거, 인덱스를 데이터 열로 추가 (drop=True)

insert

df.loc[len(df)] = {"id" : 3, "email" : "rabbir@gmail.com", "Name" : "Rabbit"} 
    Name    email                id
0    lahong    lahong@gmail.com    1
1    kkito    kkito@naver.com     2
2   Rabbit  rabbir@gmail.com    3

데이터 조회 / 데이터타입 확인 수정

  • df.index
  • df.columns
  • df.values
  • df.dtypes
  • df["id"].astype("float")
  • df.loc[0:2]
  • df.loc[::-1]
  • df.loc[[1, 2],["id", "email"]

컬럼 데이터 추가

df["Address"] = ["Seoul", "Busan", "Jeju"]
    Name    email                id      Address
0    lahong    lahong@gmail.com    1       Seoul 
1    kkito    kkito@naver.com     2       Busan
2   Rabbit  rabbir@gmail.com    3       Jeju

Apply

  • 모든 컬럼 요소에 함수를 적용해서 결과를 저장
  • function의 map과 유사
import re

df["domain"] = df["email"].apply(
    lambda data: re.findall("[\w]+@([0-9a-z]+)[.][0-9a-z]+", data)[0]
)
    Name    email                id      Address     domain
0    lahong    lahong@gmail.com    1       Seoul       gmail
1    kkito    kkito@naver.com     2       Busan       naver
2   Rabbit  rabbir@gmail.com    3       Jeju        gmail

'PYTHON > Pandas' 카테고리의 다른 글

excel 변환  (0) 2020.05.14
input output  (0) 2019.12.29
series  (0) 2019.12.29
basic  (0) 2019.12.29