본문 바로가기

Python 🎧

[python] pandas 라이브러리 기본 사용법 - csv/to_dict/to_list/DataFrame

아싸 이번주는 재택 근무 - !

 

🧢 weather.csv

day,temp,condition
sun,51,sunny
mon,55,cloudy
tue,60,cloudy
wed,66,sunny
thu,65,sunny
fri,65,cloudy
sat,58,rain

 

🧢 csv 읽기 

import csv
#csv는 콤마로 구분되는 파일 형식

"""
with open("weather.csv") as data_file :
# 한줄씩 배열에 추가
data = data_file.readlines()
"""

# 위와 거의 동일한 코드
with open("weather.csv") as data_file :
# 객체 생성
data = csv.reader(data_file)
# 한줄씩 읽기
for row in data :
print(row)

 

🧢 실행 결과

 

 

 

 

🧢 csv 로 특정 데이터만 뽑기

import csv

# 온도 데이터 뽑기
with open("weather.csv") as data_file :
data = csv.reader(data_file)
temp = []
for row in data :
# 인덱스 제외
if row[1] != "temp" :
temp.append(int(row[1]))
print(temp)

 

🧢 실행 결과 

 

 

 

 

 

🧢 pandas 사용하면 겁나 편함 

import pandas

data = pandas.read_csv("weather.csv")
print(data)

 

🧢 실행 결과 

 

 

 

 

🧢 형태 변경 등 

import pandas

data = pandas.read_csv("weather.csv")

# to_dict - 딕셔너리 형태로 바꾸기
data_dict = data.to_dict()
print(data_dict)

# to_list - 리스트 형태로 바꾸기
temp_list = data["temp"].to_list()
# temp_list = data.temp.to_list()
# 이렇게도 쓸 수 있음
print(temp_list)

#평균 온도 구하기
"""
temp_avg = sum(temp_list)/len(temp_list)
print(f"평균온도 : {temp_avg}")
"""
# 위와 같은 코드 - 편하다 -! - 평균 mean()
print(f'평균온도 : {data["temp"].mean()}')

# 최대 max()
print(f'최대온도 : {data["temp"].max()}')

 

🧢 실행 결과 - 데이터 짤렸는데 감안해주세오

 

 

 

 

🧢 특정 행 데이터 뽑아내기

import pandas

data = pandas.read_csv("weather.csv")

# 특정 행 데이터 뽑아내기
print(data[data.day == "mon"])

# 가장 높은 온도의 행 데이터 뽑아내기
print(data[data.temp == data.temp.max()])

 

🧢 실행결과 

 

 

 

 

🧢 온도 화씨 -> 섭씨로 변경 

import pandas

data = pandas.read_csv("weather.csv")

# 월요일 데이터 저장
mon = data[data.day == "mon"]

# 월요일 온도 화씨 -> 섭씨로 변경
f_temp = (mon.temp - 32)/1.8
print(f_temp)

 

🧢 실행 결과

 

 

 

 

 

🧢 데이터 프레임 만들고 새 csv 파일 생성

import pandas

# 데이터 프레임 만드는법
data_dict = {
    "member" : ["홍길동", "김길동", "박길동"],
    "score" : [33,54,22]
}
# DataFrame 이용
data = pandas.DataFrame(data_dict)
# csv 파일 생성
data.to_csv("new_data.csv")

 

🧢 실행결과 - 이런 csv 파일이 만들어짐