import urllib.parse
import pandas as pd
import requests
rakuten = {
"ST": 1,
"DA": 0,
"SC": 1,
"DC": 3,
"OF": 2,
"OW": "FB",
"NA": "楽天モバイル",
}
def musen_api(d):
parm = urllib.parse.urlencode(d, encoding="shift-jis")
r = requests.get("https://www.tele.soumu.go.jp/musen/list", parm)
return r.json()
def band_select(d, start, end, unit):
d["FF"] = start
d["TF"] = end
d["HZ"] = unit
data = musen_api(d)
df = pd.json_normalize(data, "musen").rename(columns={"listInfo.tdfkCd": "name"})
se = df.value_counts("name")
return se
se_milli = band_select(rakuten, 26.5, 29.5, 3)
se_milli
se_sub6 = band_select(rakuten, 3300, 4200, 2)
se_sub6
df0 = (
pd.concat([se_milli.rename("ミリ波"), se_sub6.rename("sub6")], axis=1)
.rename_axis("場所")
.reset_index()
)
df0
df_code = pd.read_csv(
"https://docs.google.com/spreadsheets/d/e/2PACX-1vSseDxB5f3nS-YQ1NOkuFKZ7rTNfPLHqTKaSag-qaK25EWLcSL0klbFBZm1b6JDKGtHTk6iMUxsXpxt/pub?gid=0&single=true&output=csv",
dtype={"団体コード": int, "都道府県名": str, "郡名": str, "市区町村名": str},
)
df_code["市区町村名"] = df_code["郡名"].fillna("") + df_code["市区町村名"]
df_code.drop("郡名", axis=1, inplace=True)
df_code["場所"] = df_code["都道府県名"] + df_code["市区町村名"]
df1 = pd.merge(df0, df_code, on=["場所"], how="left")
df1["団体コード"] = df1["団体コード"].astype("Int64")
df1["団体コード"].isna().sum()
df1.set_index("団体コード", inplace=True)
df1.sort_index(inplace=True)
df1["ミリ波"] = df1["ミリ波"].fillna(0).astype(int)
df1["sub6"] = df1["sub6"].fillna(0).astype(int)
df1
df2 = df1.reindex(columns=["都道府県名", "市区町村名", "ミリ波", "sub6"])
df2.to_csv("all.csv")