"빅데이터 입문 기말 리포트"의 두 판 사이의 차이

(새 문서: <source lang="python3"> import csv import pickle with open("./NHIS_OPEN_GJ_2015.csv") as csvfile: reader = csv.reader(csvfile) header = next(reader, None) #header = {head...)
 
26번째 줄: 26번째 줄:
 
          
 
          
 
         table.append(nrow)
 
         table.append(nrow)
     pickle.dump(table, open("./preprocessing2015.pkl","wb+"))
+
     with open("./preprocessing2015.pkl","wb+") as fw:
 +
        pickle.dump(table, fw, protocol = pickle.HIGHEST_PROTOCOL)
 
</source>
 
</source>

2018년 11월 14일 (수) 17:20 판

import csv
import pickle
with open("./NHIS_OPEN_GJ_2015.csv") as csvfile:
    reader = csv.reader(csvfile)
    header = next(reader, None)
    #header =  {header[i]:i  for i in range(0, len(header))}
    table = list()
    for row in reader:
        row = {header[i] : row[i] for i in range(len(header))}
        if row["신장(5Cm단위)"] == "" or row["체중(5Kg 단위)"] == "" or row["허리둘레"] == "": 
            continue

        bmi =  round(10000 * int(row["신장(5Cm단위)"]) / (int(row["체중(5Kg 단위)"]) ** 2), 2)
        label = 1
        if bmi > 40:label = 4
        if bmi > 35:label = 3
        if bmi > 30:label = 2

        nrow = {
            "height":int(row["신장(5Cm단위)"]),
            "weight":int(row["체중(5Kg 단위)"]),
            "waist":int(row["허리둘레"]),
            "overweight":label
            }
        
        table.append(nrow)
    with open("./preprocessing2015.pkl","wb+") as fw:
        pickle.dump(table, fw, protocol = pickle.HIGHEST_PROTOCOL)