CSV 활용하기
실습 데이터
health
CSV 파일 읽기
import numpy as np
import pandas as pd
# csv 파일 읽기, 쓰기
df = pd.read_csv(파일명, sep=',')
df.to_csv(파일명, index=True)
# csv 파일 읽기, 쓰기
df = pd.read_csv('data/health.csv', sep=',')
df = pd.read_csv('data/health.csv', sep=',', encoding="cp949")
Health 데이터 실습 1
import numpy as np
import pandas as pd
df = pd.read_csv('data/health.csv', sep=',', encoding="cp949")
print(df.columns)
c = ['가입자 일련번호', '성별코드', '신장(5Cm단위)', '체중(5Kg 단위)', '허리둘레']
c1 = df[c]
print(c1.head())
c1.to_csv('data/health2.csv', index=False, encoding="cp949")
Health 데이터 실습 2
import numpy as np
import pandas as pd
df = pd.read_csv('data/health.csv', sep=',', encoding="cp949")
print(df.columns)
c1 = df.iloc[:, [1, 3, 4, 5]]
print(c1.head())
c1.to_csv('data/health2.csv', index=False, encoding="cp949")
실습 - 컬럼 추가후 값 할당
import numpy as np
import pandas as pd
df = pd.read_csv('data/health2.csv', sep=',', encoding="cp949")
df['BMI'] = df['체중(5Kg 단위)'] / (df['신장(5Cm단위)'] * df['신장(5Cm단위)']) * 10000
print(df.head())
df.to_csv('data/health3.csv', index=False, encoding="cp949")
실습 - 값 비교하여 등급 할당하기
import numpy as np
import pandas as pd
df = pd.read_csv('data/health2.csv', sep=',', encoding="cp949")
df['BMI_LEVEL'] = ''
print(df.columns)
df['BMI'] = df['체중(5Kg 단위)'] / (df['신장(5Cm단위)'] * df['신장(5Cm단위)']) * 10000
df.loc[(df['BMI'] < 18.5), 'BMI_LEVEL'] = '저체중'
df.loc[(df['BMI'] >= 18.5) & (df['BMI'] < 23), 'BMI_LEVEL'] = '정상'
df.loc[(df['BMI'] >= 23) & (df['BMI'] < 25), 'BMI_LEVEL'] = '비만전단계'
df.loc[(df['BMI'] >= 25) & (df['BMI'] < 30), 'BMI_LEVEL'] = '1단계비만'
df.loc[(df['BMI'] >= 30) & (df['BMI'] < 35), 'BMI_LEVEL'] = '2단계비만'
df.loc[(df['BMI'] >= 35), 'BMI_LEVEL'] = '3단계비만'
print(df.head())
df.to_csv('data/health3.csv', index=False, encoding="cp949")
실습 - 컬럼 이름 변경하기
import numpy as np
import pandas as pd
df = pd.read_csv('data/health3.csv', sep=',', encoding="cp949")
print(df.columns)
df.rename(columns = {'가입자 일련번호':'NO', '연령대 코드(5세단위)':'AGE', '신장(5Cm단위)':'HEI', '체중(5Kg 단위)':'WEI'}, inplace=True)
print(df.columns)
df.to_csv('data/health4.csv', index=False, encoding="cp949")