【Python】 공휴일 정보 추가
목적
시계열 데이터의 분석으로 요일 의존성을 검증할 때, 공휴일 정보도 추가하고 싶다.
목표
시계열 데이터 프레임의 날짜 열에 dt.weekday
로 요일 열 "weekday"추가하고 月:0、火:1、水:2、木:3、金:4、土:5、日:6
로 한 후, 공휴일 해당일에 祝:7
를 덮어씁니다.
게다가 캘린더에서는 평일이 되고 있는 연말연시휴가기간 등 경제활동이 휴일모드로 되어 있는 날도 임의로 祝:7
로 취급할 수 있도록 한다.
실천
import pandas as pd
2019년 → 2020년 연말연시를 포함한 기간의 일시 정보의 데이터 프레임 "df"를 처리
# 日付列"date"をタイムスタンプ型にする
df["date"] = pd.to_datetime(df["date"])
# 曜日情報列"weekday"をデータフレームに追加
df["weekday"] = df["date"].dt.weekday
연말 연시 휴가 기간 중(2019-12-30:월요일, 2019-12-31 새해 전날:화요일, 2020-01-01 설날:수요일, 2020-01-02:목요일, 2020-01-03:금요일)은 모두 평일판정👇
1955년 이후의 일본의 공휴일이 리스트업된 csv데이터를 취득할 수 있는 내각부 web페이지『 국민의 공휴일에 대해서 』에서 공휴일 데이터 "syukujitsu.csv "
!!ATTN!!
"syukujitsu.csv"는 엄격한 공휴일 밖에 나열되어 있지 않다(연말 연시 휴가 기간이나 추석 휴가 등 경제 활동이 휴일 모드인 평일은 별도로 정의해 리스트에 임의 추가할 필요)
# "syukujitsu.csv"読み込み
syukujitsu = pd.read_csv("https://www8.cao.go.jp/chosei/shukujitsu/syukujitsu.csv", encoding="SHIFT-JIS")
# "国民の祝日・休日月日"列をタイムスタンプ型にする
syukujitsu["国民の祝日・休日月日"] = pd.to_datetime(syukujitsu["国民の祝日・休日月日"])
2019년→2020년 연말연시 기간을 짜서 표시하면 설날만 올라온다👇
경제가 휴일 모드의 새해 전날이나 세가 날도 공휴일과 같이 취급하고 싶다!
→ 공휴일처럼 취급하고 싶은 휴일을 리스트 업 해 데이터 프레임으로 한다
# 年末年始休暇の追加休日リスト"add"
add = ["2019/12/30", "2019/12/31", "2020/1/2", "2020/1/3"]
# 追加休日リストをデータフレーム"ADD"にする
ADD = pd.DataFrame(add, columns=["国民の祝日・休日月日"])
ADD["国民の祝日・休日月日"] = pd.to_datetime(ADD["国民の祝日・休日月日"])
내각부의 휴일 데이터 프레임에 작성한 추가 휴일 데이터 프레임을 결합하여 휴일 데이터 프레임을 업데이트
# "syukujitsu"と"ADD"を結合して更新した祝日データフレーム"syuku"
syuku = pd.concat([syukujitsu, ADD]).sort_values("国民の祝日・休日月日").reset_index(drop=True)
2019년→2020년 연말연시에 기간을 짜서 표시하면 설날을 포함한 연말연시휴가 기간도 공휴일로 올라왔다👇
날짜 및 시간 정보의 데이터 프레임 "df"의 요일 정보 열에 업데이트 된 공휴일 데이터 프레임 "syuku"에 나열된 날에 祝:7
# 祝日フラグ7を該当日に付与する
for i in syuku["国民の祝日・休日月日"]:
df["weekday"].mask(df["date"] == i, 7, inplace=True)
공휴일 데이터 프레임에서 지정한 날의 "weekday"를 7로 덮어쓰기 완료👇
Reference
이 문제에 관하여(【Python】 공휴일 정보 추가), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/FumiyoKato/items/1506e37c448edab78a9d
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
시계열 데이터 프레임의 날짜 열에
dt.weekday
로 요일 열 "weekday"추가하고 月:0、火:1、水:2、木:3、金:4、土:5、日:6
로 한 후, 공휴일 해당일에 祝:7
를 덮어씁니다.게다가 캘린더에서는 평일이 되고 있는 연말연시휴가기간 등 경제활동이 휴일모드로 되어 있는 날도 임의로
祝:7
로 취급할 수 있도록 한다.실천
import pandas as pd
2019년 → 2020년 연말연시를 포함한 기간의 일시 정보의 데이터 프레임 "df"를 처리
# 日付列"date"をタイムスタンプ型にする
df["date"] = pd.to_datetime(df["date"])
# 曜日情報列"weekday"をデータフレームに追加
df["weekday"] = df["date"].dt.weekday
연말 연시 휴가 기간 중(2019-12-30:월요일, 2019-12-31 새해 전날:화요일, 2020-01-01 설날:수요일, 2020-01-02:목요일, 2020-01-03:금요일)은 모두 평일판정👇
1955년 이후의 일본의 공휴일이 리스트업된 csv데이터를 취득할 수 있는 내각부 web페이지『 국민의 공휴일에 대해서 』에서 공휴일 데이터 "syukujitsu.csv "
!!ATTN!!
"syukujitsu.csv"는 엄격한 공휴일 밖에 나열되어 있지 않다(연말 연시 휴가 기간이나 추석 휴가 등 경제 활동이 휴일 모드인 평일은 별도로 정의해 리스트에 임의 추가할 필요)
# "syukujitsu.csv"読み込み
syukujitsu = pd.read_csv("https://www8.cao.go.jp/chosei/shukujitsu/syukujitsu.csv", encoding="SHIFT-JIS")
# "国民の祝日・休日月日"列をタイムスタンプ型にする
syukujitsu["国民の祝日・休日月日"] = pd.to_datetime(syukujitsu["国民の祝日・休日月日"])
2019년→2020년 연말연시 기간을 짜서 표시하면 설날만 올라온다👇
경제가 휴일 모드의 새해 전날이나 세가 날도 공휴일과 같이 취급하고 싶다!
→ 공휴일처럼 취급하고 싶은 휴일을 리스트 업 해 데이터 프레임으로 한다
# 年末年始休暇の追加休日リスト"add"
add = ["2019/12/30", "2019/12/31", "2020/1/2", "2020/1/3"]
# 追加休日リストをデータフレーム"ADD"にする
ADD = pd.DataFrame(add, columns=["国民の祝日・休日月日"])
ADD["国民の祝日・休日月日"] = pd.to_datetime(ADD["国民の祝日・休日月日"])
내각부의 휴일 데이터 프레임에 작성한 추가 휴일 데이터 프레임을 결합하여 휴일 데이터 프레임을 업데이트
# "syukujitsu"と"ADD"を結合して更新した祝日データフレーム"syuku"
syuku = pd.concat([syukujitsu, ADD]).sort_values("国民の祝日・休日月日").reset_index(drop=True)
2019년→2020년 연말연시에 기간을 짜서 표시하면 설날을 포함한 연말연시휴가 기간도 공휴일로 올라왔다👇
날짜 및 시간 정보의 데이터 프레임 "df"의 요일 정보 열에 업데이트 된 공휴일 데이터 프레임 "syuku"에 나열된 날에 祝:7
# 祝日フラグ7を該当日に付与する
for i in syuku["国民の祝日・休日月日"]:
df["weekday"].mask(df["date"] == i, 7, inplace=True)
공휴일 데이터 프레임에서 지정한 날의 "weekday"를 7로 덮어쓰기 완료👇
Reference
이 문제에 관하여(【Python】 공휴일 정보 추가), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/FumiyoKato/items/1506e37c448edab78a9d
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
import pandas as pd
# 日付列"date"をタイムスタンプ型にする
df["date"] = pd.to_datetime(df["date"])
# 曜日情報列"weekday"をデータフレームに追加
df["weekday"] = df["date"].dt.weekday
# "syukujitsu.csv"読み込み
syukujitsu = pd.read_csv("https://www8.cao.go.jp/chosei/shukujitsu/syukujitsu.csv", encoding="SHIFT-JIS")
# "国民の祝日・休日月日"列をタイムスタンプ型にする
syukujitsu["国民の祝日・休日月日"] = pd.to_datetime(syukujitsu["国民の祝日・休日月日"])
# 年末年始休暇の追加休日リスト"add"
add = ["2019/12/30", "2019/12/31", "2020/1/2", "2020/1/3"]
# 追加休日リストをデータフレーム"ADD"にする
ADD = pd.DataFrame(add, columns=["国民の祝日・休日月日"])
ADD["国民の祝日・休日月日"] = pd.to_datetime(ADD["国民の祝日・休日月日"])
# "syukujitsu"と"ADD"を結合して更新した祝日データフレーム"syuku"
syuku = pd.concat([syukujitsu, ADD]).sort_values("国民の祝日・休日月日").reset_index(drop=True)
# 祝日フラグ7を該当日に付与する
for i in syuku["国民の祝日・休日月日"]:
df["weekday"].mask(df["date"] == i, 7, inplace=True)
Reference
이 문제에 관하여(【Python】 공휴일 정보 추가), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/FumiyoKato/items/1506e37c448edab78a9d텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)