Goodfind pythonセミナー


##

```
# coding: UTF-8
name = u"かわら"
print name
print len(name)
```
uはユニコード？


```
# coding: UTF-8
myprofile = {"name":"kawara", "univ": "senshu", "grade": 3}
print myprofile["name"]
print myprofile["univ"]
print myprofile["grade"]
```


```
# coding: UTF-8
myprofile = {"name":"kawara", "univ": "senshu", "grade": 3, "age": 21}
print myprofile

for key,value in myprofile.items():
	print key, value
```

` items():`の：を入れ忘れてて、ずっとエラーだった。。

*****
休憩
*****

モジュールがいっぱい集まったのがライブラリー

問題
![Kobito.yhnpZA.png](https://qiita-image-store.s3.amazonaws.com/0/98212/eda22cc1-c356-935a-9c44-37804cb7f6e3.png "Kobito.yhnpZA.png")

ようやくみっけた

```
import math
from math import sqrt
print math.sqrt(25)
```

僕はこうだったけど

```
import math
print math.sqrt(25)
```
これでいいみたい

## グラフ書く
matplotlib



```
# coding: UTF-8
import numpy as np
import matplotlib.pyplot as plt
x = np.arange(-3, 3, .1) y = np.sin(x)
plt.plot(x, y) plt.show()
```

` as`というので、長ったらしい名前をこう省略しますよ。と

問題
*sin􏰀プログラムを修正してY = X􏰀2乗 􏰀グラ フを書いてみよう

*時間があれ􏰄値􏰀範囲、間隔、式を変えて見 よう

![Kobito.xzPSbQ.png](https://qiita-image-store.s3.amazonaws.com/0/98212/61a702ae-205f-d19e-ddb1-7a4cb7c84579.png "Kobito.xzPSbQ.png")
あってるかな。。

```
# coding: UTF-8
import numpy as np
import matplotlib.pyplot as plt

x = np.arange(-3, 3, .1)
y = np.sin(x**2)
plt.plot(x, y)
plt.show()
```
こうしました

*****
間違ってた
![Kobito.2sJnnd.png](https://qiita-image-store.s3.amazonaws.com/0/98212/c9afc98a-833f-8480-3975-93cc69a9e92c.png "Kobito.2sJnnd.png")

これや

```
# coding: UTF-8
import numpy as np
import matplotlib.pyplot as plt

x = np.arange(-3, 3, .1)
y = x**2
plt.plot(x, y)
plt.show()

```

` open` csvを開く

` append`


分からなかったら、とにかくprintしてみる。

```
# coding: utf-8
import matplotlib.pyplot as plt
from datetime import datetime as dt

itemList = []
for line in open('tokyo.csv', 'r'):
    itemList.append(line.rstrip().split(','))

date = []
temparature = []
for item in itemList:
  date.append(dt.strptime(item[0], '%Y/%m/%d'))
  temparature.append(float(item[1]))

plt.plot(date, temparature)
plt.show()
```

基本的に、データを扱うときに、データ分析しやすいようになっているかというとそうではない。

```
# coding: utf-8
import matplotlib.pyplot as plt
from datetime import datetime as dt

itemList = []
for line in open('tokyo.csv', 'r'):
    itemList.append(line.rstrip().split(','))

print itemList[0]
```

```
python tokyo_graph.py
['2014/3/20', '8.1']
```
と出てくる。


*****

```
# coding: utf-8
import matplotlib.pyplot as plt
from datetime import datetime as dt

itemList = []
for line in open('tokyo.csv', 'r'):
    itemList.append(line.rstrip().split(','))


date = []
temparature = []
for item in itemList:
print item
  date.append(dt.strptime(item[0], '%Y/%m/%d'))
  temparature.append(float(item[1]))
  
```
ん、これできない？？

*****


```
# coding: utf-8
import matplotlib.pyplot as plt
from datetime import datetime as dt

itemList = []
for line in open('tokyo.csv', 'r'):
    itemList.append(line.rstrip().split(','))

date = []
temparature = []
for item in itemList:
  date.append(dt.strptime(item[0], '%Y/%m/%d'))
  temparature.append(float(item[1]))

print date
print temparature


```

******

東京釧路CSV

課題

東京の日付と、気温
釧路の日付と気温

それが一箇所に

にこめのfor分のとこ

データは3つになるよね 

	つまり、リストが二つになる
	
よしやってみよ

*****
```
# coding: utf-8
import matplotlib.pyplot as plt
from datetime import datetime as dt

itemList = []
for line in open('tokyo_kushiro.csv', 'r'):
    itemList.append(line.rstrip().split(','))

date = []
tokyo_temparature = []
kushiro_temparature = []
for item in itemList:
  date.append(dt.strptime(item[0], '%Y/%m/%d'))
  tokyo_temparature.append(float(item[1]))
  kushiro_temparature.append(float(item[2]))

plt.plot(date, temparature)
plt.show()
```
これでやってみた。
できない。。
` plint` でitemListを一旦表示。
見てみると、日付、東京気温、釧路気温、、、
なので、item2で釧路の気温を持ってこれると思うんだけども、、

```
Traceback (most recent call last):
  File "tokyo_kushiro.py", line 17, in <module>
    plt.plot(date, temparature)
NameError: name 'temparature' is not defined
```
エラーはこんな感じ。

あ、
```
line 17, in <module>
    plt.plot(date, temparature)
```
か。なるほど。グラフ化ができなかった感じっすね。

```
# coding: utf-8
import matplotlib.pyplot as plt
from datetime import datetime as dt

itemList = []
for line in open('tokyo_kushiro.csv', 'r'):
    itemList.append(line.rstrip().split(','))

date = []
tokyo_temparature = []
kushiro_temparature = []
for item in itemList:
  date.append(dt.strptime(item[0], '%Y/%m/%d'))
  tokyo_temparature.append(float(item[1]))
  kushiro_temparature.append(float(item[2]))

plt.plot(date, tokyo_temparature, kushiro_temparature)
plt.show()
```
これでどうよ〜

え、できない。。

*****
あー、3次元のグラフかけないのか
plotって、重ねてもかけるんかな


```
# coding: utf-8
import matplotlib.pyplot as plt
from datetime import datetime as dt

itemList = []
for line in open('tokyo_kushiro.csv', 'r'):
    itemList.append(line.rstrip().split(','))

date = []
tokyo_temparature = []
kushiro_temparature = []
for item in itemList:
  date.append(dt.strptime(item[0], '%Y/%m/%d'))
  tokyo_temparature.append(float(item[1]))
  kushiro_temparature.append(float(item[2]))

plt.plot(date, tokyo_temparature)
plt.plot(date, kushiro_temparature)
plt.show()
```

うっし、できた。

ふうー

floteにキャストしてあげてから、それぞれの場所にブッコム。と

二回目やって、ようやく中身がわかってきた気がする。

******

## Web API

今回はTwitter

*スクレイビングでゴリゴリ
*Web API

後者の方が簡単。