Pythonの総復習➃

Pythonの総復習

ここからはPYhtonの総復習をしていきたいと思います。 総復習といっても、私が購入したこの本からとなります。



この本では丁寧な解説が載っていますので、解説とともにコードを書き、完成させればより深く学ぶことができます(^.^)、実際、初心者の私でもわかりやすかったです。身に付け消えないスキルが2,400円程ならコスパよく、買っておいてよかったと満足してます。


詳しい解説や実装されたものについては、割愛させていただきます。それぞれの解説や実行結果についてはリンクを貼っておきますので、参考してみてください。

リンク先のサイトにて一つ一つ学んだ後、一気にざっと復習するときでもこちらのページを活用してみてください。

やはり、一度だけ本で学んで終わりでなく、二度、三度と繰り返し自分なりにアレンジしていけば学びも深化していくと思います。

オープンデータってなに?郵便局のオープンデータからデータを抽出してみよう!

import pandas as pd

df = pd.read_csv(“13TOKYO.CSV”, header=None, encoding=”shift_jis”)
print(len(df))
print(df.columns.values)
詳しくはこちらをご参照ください。

指定したデータを抽出するには?

import pandas as pd

df = pd.read_csv(“13TOKYO.CSV”, header=None, encoding=”shift_jis”)
results = df[df[2] == 1200003]
print(results[[2,6,7,8]])
詳しくはこちらをご参照ください。

指定したデータを抽出するには?

import pandas as pd

df = pd.read_csv(“13TOKYO.CSV”, header=None, encoding=”shift_jis”)

results = df[df[8] == “東和”]
print(results[[2,6,7,8]])

results = df[df[8].str.contains(“東和”)]
print(results[[2,6,7,8]])
詳しくはこちらをご参照ください。

エラーで「no numeric data to plot」で表示されたときの対処法は?

import pandas as pd
import matplotlib.pyplot as plt
import japanize_matplotlib

df = pd.read_csv(“FEH_00200502_220109220659.csv”,index_col=”地域”, encoding=”shift_jis”)

df[“E1101_幼稚園数【園】”] = pd.to_numeric(df[“E1101_幼稚園数【園】”].str.replace(“,”, “”))
print(df[“E1101_幼稚園数【園】”])
df[“E1101_幼稚園数【園】”].plot.bar()
plt.show()
詳しくはこちらをご参照ください。

グラフを改善する(➀グラフの画面サイズを変更するには?➁都道府県だけの比較にするには?)

import pandas as pd
import matplotlib.pyplot as plt
import japanize_matplotlib

df = pd.read_csv(“FEH_00200502_220109220659.csv”,index_col=”地域”, encoding=”shift_jis”)

df = df.drop(“全国”, axis=0)
df[“E1101_幼稚園数【園】”] = pd.to_numeric(df[“E1101_幼稚園数【園】”].str.replace(“,”, “”))
df[“E1101_幼稚園数【園】”].plot.bar(figsize=(11,7))
plt.show()
詳しくはこちらをご参照ください。

グラフを改善する(人口の多い順に並べ替えるには?)

import pandas as pd
import matplotlib.pyplot as plt
import japanize_matplotlib

df = pd.read_csv(“FEH_00200502_220109220659.csv”,index_col=”地域”, encoding=”shift_jis”)

df = df.drop(“全国”, axis=0)
df[“E1101_幼稚園数【園】”] = pd.to_numeric(df[“E1101_幼稚園数【園】”].str.replace(“,”, “”))
df = df.sort_values(“E1101_幼稚園数【園】”, ascending=False)
df[“E1101_幼稚園数【園】”].plot.bar(figsize=(11,7))
plt.show()
詳しくはこちらをご参照ください。

2つの列データの差を新しい列として作る

import pandas as pd
import matplotlib.pyplot as plt
import japanize_matplotlib

df = pd.read_csv(“FEH_00200524_220213102329.csv”,index_col=”全国・都道府県”, encoding=”shift_jis”)

df = df.drop(“全国”, axis=0)
df[“平成29年”] = pd.to_numeric(df[“平成29年”].str.replace(“,”, “”))
df[“平成30年”] = pd.to_numeric(df[“平成30年”].str.replace(“,”, “”))
df[“人口増減”] = df[“平成30年”] – df[“平成29年”]
df = df.sort_values(“人口増減”, ascending=False)
df[“人口増減”].plot.bar(figsize=(11,7))
plt.show()
詳しくはこちらをご参照ください。

指定した地点の地図を作り、表示するには?

import folium

m = folium.Map(location=[35.942957, 136.198863], zoom_start=16)

m.save(‘sabae.html’)
詳しくはこちらをご参照ください。

マーカーを追加するには?

import folium

m = folium.Map(location=[35.942957, 136.198863], zoom_start=16)

m.save(‘sabae.html’)
詳しくはこちらをご参照ください。

リスト化して(バス停を)地図に書き出してみよう

import pandas as pd
import folium

df = pd.read_csv(“936.csv”,encoding=”shift-jis”)
# バス停のある地点(緯度、経度)をリスト化する
bus = df[[“緯度”,”経度”]].values


# 地図を作って書き出す
m = folium.Map(location=[35.942957, 136.198863], zoom_start=16)
for data in bus:
folium.Marker([data[0], data[1]]).add_to(m)
m.save(‘bust.html’)
詳しくはこちらをご参照ください。   

文字列のある部分を別の文字列に置き換えるには?

ans = “今日は{key1}。明日も{key2}できるでしょう。”
ans = ans.format(key1=”成長できた”, key2=”さらに成長”)
print(ans)
詳しくはこちらをご参照ください。

JSON形式で天気情報を取得するには?

import requests
import json

url = “http://api.openweathermap.org/data/2.5/weather?q={city}&appid={key}&lang=ja&units=metric”
url = url.format(city=”Tokyo”, key=”あなたが取得したAPIキー”)

jsondata = requests.get(url).json(),
print(jsondata)
詳しくはこちらをご参照ください。

ファイルからJSONデータ読み込み、きれいに整形して表示するには?

import json
pprint import pprint

with open(“test2.json”, mode=”r”) as f:
jsondata = json.loads(f.read())
(jsondata)
詳しくはこちらをご参照ください。

JSONデータから指定したデータを取り出すには?

import requests
import json

url = “http://api.openweathermap.org/data/2.5/weather?q={city}&appid={key}&lang=ja&units=metric”
url = url.format(city=”Tokyo”, key=”あなたが取得したAPIキー”)

jsondata = requests.get(url).json()
print(“都市名 =”, jsondata[“name”])
print(“気温 =”, jsondata[“main”][“temp”])
print(“天気 =”, jsondata[“weather”][0][“main”])
詳しくはこちらをご参照ください。

5日間、3時間ごとの天気情報を取得するには?

import requests
import json
from pprint import pprint

url = “http://api.openweathermap.org/data/2.5/forecast?q={city}&appid={key}&lang=ja&units=metric”
url = url.format(city=”Tokyo”, key=”あなたが取得したAPIキー”)

jsondata = requests.get(url).json()
pprint(jsondata)
詳しくはこちらをご参照ください。

UTC(協定世界時)をJST(日本標準時)に変換するには?またstrのを使い文字削除するには?

import requests
import json
from datetime import datetime, timedelta, timezone

url = “http://api.openweathermap.org/data/2.5/forecast?q={city}&appid={key}&lang=ja&units=metric”
url = url.format(city=”Tokyo”, key=”あなたが取得したAPIキー”)

jsondata = requests.get(url).json()
tz = timezone(timedelta(hours=+9), ‘JST’)
for dat in jsondata[“list”]:
    jst = str(datetime.fromtimestamp(dat[“dt”],tz))[:-9]
    print(jst)
詳しくはこちらをご参照ください。

グラフにするため何時に、何度か?の表データを作るには?

import requests
import json
from pprint import pprint
from datetime import datetime, timedelta, timezone
import pandas as pd

url = “http://api.openweathermap.org/data/2.5/forecast?q={city}&appid={key}&lang=ja&units=metric”
url = url.format(city=”Tokyo”, key=”あなたが取得したAPIキー”)

jsondata = requests.get(url).json()
df = pd.DataFrame(columns=[“気温”])
tz = timezone(timedelta(hours=+9), ‘JST’)
for dat in jsondata[“list”]:
    jst = str(datetime.fromtimestamp(dat[“dt”],tz))[:-9]
    temp = dat[“main”][“temp”]
    df.loc[jst] = temp
pprint(df)
詳しくはこちらをご参照ください。

気温変化のグラフを作るには?

import requests
import json
from pprint import pprint
from datetime import datetime, timedelta, timezone
import pandas as pd
import matplotlib.pyplot as plt
import japanize_matplotlib


url = “http://api.openweathermap.org/data/2.5/forecast?q={city}&appid={key}&lang=ja&units=metric”
url = url.format(city=”Tokyo”, key=”あなたが取得したAPIキー”)

jsondata = requests.get(url).json()
df = pd.DataFrame(columns=[“気温”])
tz = timezone(timedelta(hours=+9), ‘JST’)
for dat in jsondata[“list”]:
     jst = str(datetime.fromtimestamp(dat[“dt”],tz))[:-9]
     temp = dat[“main”][“temp”]
    df.loc[jst] = temp
df.plot(figsize=(13,7))
plt.ylim(-10,40)
plt.grid()
plt.show()
詳しくはこちらをご参照ください。

*尚、ここではバージョン「Python 3.10.1」を使用しています。

わからないことはプロフェッショナルから学ぶのが一番

キャリアアップに必要なスキルを取得しよう。

オンラインで受講ができるスクールですので、全国どこからでも。