지바현 이치카와시의 신형 코로나 바이러스 감염자를 정리해 보았습니다.

소개



내가 살고 있는 지바현 이치카와시에 있어서의 신형 코로나 바이러스 감염자의 데이터를 정리해 보았습니다.

원래, 이치카와시 홈페이지 에서는, 오픈 데이터로서 2차 이용할 수 있는 형식으로 정보를 공개하고 있지 않습니다.
필요한 데이터량도 아니면, 항목도 적고, 이것으로 무언가를 하려고 하기에는 불충분합니다만, 약간의 일에는 사용할 수 있을 것 같기 때문에, 사용하기 쉬워 보았습니다.
또한 샘플 코드 (Python)도 올려 놓았습니다.

덧붙여 수시로 갱신하고 있습니다만, 개인적인 사정으로 늦는 일이 있습니다.
→ 갱신을 종료했습니다

【2020/05/08】사망일 추가
【2021/01/22】사망자 정보가 모호하기 때문에, 사망자를 특정할 수 없는 상태로
【2021/02/19】치바현이 사망자의 거주지 정보를 공표하지 않기로 했기 때문에, 사망일은 추가되지 않게 되었습니다
【2021/08/13】지바현이 직업과 추정 감염 경로를 공표하지 않게 되었습니다
【2022/02/02】감염자수가 너무 많아, 처리가 따라잡지 않기 때문에, 갱신 종료

URL



데이터



CSV 형식에서 문자 코드는 UTF-8입니다.

컬럼



컬럼의 의미는 다음과 같습니다.
  • 분류
  • 환자(발병) 또는 무증상 병원체 보유자(미발병)입니다.

  • 시내
  • 이치카와시 거주자에서 감염이 발견 된 순서입니다.

  • 현내
  • 지바현에 거주하는 사람들이 감염을 발견 한 순서입니다.
  • 현외에서 발견되면 공란이됩니다


  • 나이(10세 단위)입니다
  • "0"은 0-9세를 나타냅니다
  • '90'은 90세 이상을 나타냅니다

  • 성별
  • 남성 또는 여성입니다

  • 직업
  • 감염자의 직업입니다
  • 공란이 있습니다

  • 추정 감염 경로
  • 감염된 장소입니다
  • 「현내 ○○」의 「○○」는 지바현에서 감염이 발견 된 순서입니다.
  • 공란이 있습니다

  • 발병일
  • 발병한 날입니다
  • "알 수 없음", "조사 중"이 있습니다
  • 무증상 병원체 보유자는 비어 있습니다

  • 검사 확정일
  • PCR 검사에서 양성이 확인 된 날

  • 사망일
  • 사망한 날입니다
  • 죽어도 정보가 공개되지 않은 사람도 있습니다.
  • 공란이 있습니다

  • 행동력
  • 시내 68 예 이전은 발병 후 행동 이력, 시내 69 예 이후는 발병 2 일 전부터의 행동 이력입니다.
  • 공란이 있습니다


  • 샘플



    데이터를 사용한 해석의 샘플 코드입니다.
    파일은 Jupyter Notebook입니다.
    import numpy as np
    import pandas as pd
    import datetime
    import matplotlib.pyplot as plt
    %matplotlib inline
    
    df = pd.read_csv('corona.csv')
    
    df["発症日"] = df["発症日"].replace("不明", "")
    df["発症日"] = df["発症日"].replace("調査中", "")
    df["発症日"] = pd.to_datetime(df["発症日"], format="%Y-%m-%d")
    
    df["検査確定日"] = df["検査確定日"].replace("不明", "")
    df["検査確定日"] = df["検査確定日"].replace("調査中", "")
    df["検査確定日"] = pd.to_datetime(df["検査確定日"], format="%Y-%m-%d")
    
    df["死亡日"] = df["死亡日"].replace("不明", "")
    df["死亡日"] = df["死亡日"].replace("調査中", "")
    df["死亡日"] = pd.to_datetime(df["死亡日"], format="%Y-%m-%d")
    
    # 要約統計量
    df.describe().loc[:,"年"]
    
    # ヒストグラム(年齢)
    plt.title("Age")
    plt.yticks([0,400,800,1200,1600,2000,2400,2800,3200,3600])
    plt.hist(df["年"], range=(0, 100));
    
    df = df.dropna(subset=['検査確定日'])
    
    # 検査確定日+移動平均(7日)
    days = (df["検査確定日"].max()-df["検査確定日"].min()).days+1
    hist = plt.hist(df["検査確定日"], bins=days)
    
    left = np.arange(df["検査確定日"].min(), df["検査確定日"].max()+datetime.timedelta(days=1), np.timedelta64(1,'D'))
    
    num = 7
    b = np.ones(num) / num
    y2 = np.convolve(hist[0], b, mode='same')
    
    plt.figure(figsize=(17, 10))
    plt.title("Inspection confirmation date")
    plt.bar(left, hist[0], color='green', width=1.0, linewidth=0.0);
    plt.plot(left, y2, color='red')
    




    좋은 웹페이지 즐겨찾기