1. 시간
input 받아서 온도, 습도, index 출력 (1개)
"온도는 x, 습도 y, index z다"
2. 온도 23도 이상
습도 90% 이상 10개 (sort) 온도 습도 인덱스 값
데이터 시각화 (온도, 습도, 인덱스 값)
- 0911.csv 각자 : 제출 (4시)
- 본인.csv 도와주셔도 됩니다 : 제출 (4시 40분)
※ 파이썬 잘 쓸 수 있냐? 기본 문법
import - 라이브러리 사용
리스트, dict, tuple, 변수, def, for, while
if, >=, ==, print, input
플랫폼 코랩 사용해서 .ipnyb 파일로 제출
#include <Time.h>
#include <TimeAlarms.h>
#include "DHT.h"
#include "TimeLib.h"
#define DHTPIN 8
#define DHTTYPE DHT11
DHT dht(DHTPIN, DHTTYPE);
void setup()
{
setTime (10,33,0,11,9,2020);
Serial.begin(9600);
dht.begin();
Serial.println("CLEARDATA");
Serial.println("LABEL, Date, Time, Temp, Humi");
}
void loop()
{
delay(2000);
float hum = dht.readHumidity();
float tem = dht.readTemperature();
float f = dht.readTemperature(true);
if (isnan(hum) || isnan(tem) || isnan(f)) {
Serial.println ("Failed to read from DHT sensor!");
return;
}
float hif = dht.computeHeatIndex(f, hum);
float hic = dht.computeHeatIndex(tem, hum, false);
Serial.print("DATA,");
//20200911,
Serial.print(year());
Serial.print("0");
Serial.print(month());
Serial.print(day());
Serial.print(",");
//10:33:
Serial.print(hour());
Serial.print(":");
Serial.print(minute());
Serial.print(":");
Serial.print(second());
Serial.print(",");
//tem,
Serial.print(tem);
Serial.print(",");
//hum
Serial.println(hum);
}
import csv
import matplotlib.pyplot as plt
import operator
f = open('0911.csv', encoding='cp949')
data = csv.reader(f, delimiter=',')
header = next(data) # 첫줄 띄워넘으려면 넣어야됨
time = 0
temp = 0
hum = 0
templist = []
humlist = []
indexlist = []
indexlist2 = []
tempdic={}
humdic={}
tentemp = []
tenhum= []
tentempindex = []
tenhumindex = []
time = input("시간 입력(0(고정):(0~28):(0~58)2초간격으로 입력) : ")
for row in data :
if time in row :
print("그 때의 온도는 %d도 습도는 %d%% index는 %d다" %(int(row[2]), int(row[3]), int(row[4])))
if row[-3] >= "23" and row[-2] >= "90" :
templist.append(float(row[-3]))
humlist.append(float(row[-2]))
indexlist.append(float(row[-1]))
indexlist2.append(float(row[-1]))
print(templist)
print(humlist)
print(indexlist)
print(indexlist2)
for indexlist,templist in zip(indexlist, templist) :
tempdic[indexlist] = templist
for indexlist2,humlist in zip(indexlist2, humlist) :
humdic[indexlist2] = humlist
print(tempdic)
print(humdic)
revtemp = sorted(tempdic.items(), key=operator.itemgetter(1), reverse=True)
revhum = sorted(humdic.items(), key=operator.itemgetter(1), reverse=True)
print(revtemp)
print(revhum)
for i in range (10) :
#tentemp.append(revtemp[i][1])
#tenhum.append(revhum[i][1])
tentempindex.append(revtemp[i][0])
tenhumindex.append(revhum[i][0])
#print(tentemp)
#print(tenhum)
print(tentempindex)
print(tenhumindex)
plt.title('index')
plt.plot(range(10), tentempindex,label = 'temp index')
plt.plot(range(10), tenhumindex,label = 'hum index')
plt.legend() #범례
plt.show() # plot출력
for row in data :
row[2] = float(row[2]) 왜 안되는지 모르겠음
'python > python 수업' 카테고리의 다른 글
딕셔너리 key/value 로 정렬 (0) | 2020.09.08 |
---|---|
fairytale slicing (0) | 2020.09.08 |
데이터시각화 matplot weather0106 (0) | 2020.09.08 |
과제 - 생일 일교차 (0) | 2020.08.28 |
weather - colab 최고온도 (0) | 2020.08.18 |