[Python] 09. Series & DataFrame

hhyun·2024년 6월 22일

[Python]

목록 보기
9/11

📖 Series & DataFrame

🌟 DataFrame 생성

df = pd.DataFrame({"컬럼1" : ['list 형태로 데이터 나열'],
				   "컬럼2" : [ 문자는 '' 안에 입력, 숫자는 그냥 숫자만 입력]})

🌟 df[[]]

  • 컬럼 순서 변경
  • 원하는 컬럼들의 값만 추출
df[[칼럼1, 칼럼2, 칼럼3]]

🌟 copy()

  • deep = True : 원본과 별개인 복사본이 생성으로 default 값
  • deep = False : 원본의 데이터가 수정시 사본의 데이터도 수정되며 그 반대의 경우도 동일
df2 = df.copy()

💭 실습

💭 Q105. 상위 데이터 셋의 정보를 활용하여 데이터 프레임을 생성

import pandas as pd
df = pd.DataFrame({"name": ['Bulbasaur', 'Charmander','Squirtle','Caterpie'],
                   "evolution": ['Ivysaur','Charmeleon','Wartortle','Metapod'],
                   "type": ['grass', 'fire', 'water', 'bug'],
                   "hp": [45, 39, 44, 45],
                   "pokedex": ['yes', 'no','yes','no']})
df

💭 Q106. 컬럼의 순서를 name, type, hp, evolution, pokedex로 변경

df = df[['name', 'type', 'hp', 'evolution','pokedex']]
df

💭 Q107. 새로운 컬럼을 생성하고 임의의 값을 할당

df['place'] = ['sea','mountain','lake','forest']
df

💭 Q108. 각 컬럼에 대한 타입을 확인

df.dtypes

💭 Q109. hp가 40이상인 데이터를 출력

df[df['hp'] >= 40]

💭 Q109. 전체 데이터 셋 중에서 name과 type만 출력

df[['name', 'type']]

💭 Q110. 데이터 세트에 인덱스를 one, two, three, four로 변경

  • 새로운 객체에 할당 할 것
  • df2 = df로 진행하면 동화가 일어난다 -> 고로 copy()를 이용
df2 = df.copy() 
df2.index = ['one', 'two', 'three', 'four']
df2

💭 Q111. name을 인덱스로 설정

  • set_index('칼럼',inplace=True) : inplace=True 안적으면 영구적으로 반영안됨.
df2.set_index('name', inplace=True)
df2

💭 Q112. 데이터 세트를 csv파일로 저장

  • 경로 지정해 저장
import os
os.getcwd()
os.chdir('특정경로')
  • 가장 기본 경로인 '/content' 에 저장
df2.to_csv('sample.csv')

💭 Q113. 아래와 같이 새로운 데이터 프레임을 생성하고, 기존 데이터 프레임과 병합

  • DataFrame 생성
new_df = pd.DataFrame({"name": ['Pikachu'],
                        "type": ['electric'],
                        "hp": [35],
                        "evolution": ['Raichu'],
                        "pokedex": ['yes'],
                        "place": ['forest']})
new_df
  • 기존 데이터 프레임과 병합
Ans = pd.concat([df, new_df], axis=0).reset_index(drop=True)
Ans

💭 Q113. Ans에서 place 1번째와 3번째 row에 NaN값을 입력

  • np.nan : NaN 값 입력
import numpy as np
Ans.loc[[0,2],'place'] = np.nan
Ans

0개의 댓글