Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/282.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何转换格式化的';计划免疫周';使用Python到现在为止?_Python_Date_Week Number - Fatal编程技术网

如何转换格式化的';计划免疫周';使用Python到现在为止?

如何转换格式化的';计划免疫周';使用Python到现在为止?,python,date,week-number,Python,Date,Week Number,我目前正试图学习如何将通过Coursera和Dataquest学习的数据科学技能应用到小型个人项目中 我在谷歌BigQuery上找到了一个来自美国卫生和公共服务部的数据集,其中包括1888年至2013年间公布的所有美国城市和州的国家法定疾病每周监测报告 我将数据导出到一个.csv文件,并将其导入一个Jupyter笔记本中,我正在运行Anaconda。在查看数据集的标题时,我注意到日期/周显示为“epi_week” 我正在努力使数据更具可读性和可用于某些分析,为此,我希望将其转换为类似于DD/MM

我目前正试图学习如何将通过Coursera和Dataquest学习的数据科学技能应用到小型个人项目中

我在谷歌BigQuery上找到了一个来自美国卫生和公共服务部的数据集,其中包括1888年至2013年间公布的所有美国城市和州的国家法定疾病每周监测报告

我将数据导出到一个.csv文件,并将其导入一个Jupyter笔记本中,我正在运行Anaconda。在查看数据集的标题时,我注意到日期/周显示为“epi_week”

我正在努力使数据更具可读性和可用于某些分析,为此,我希望将其转换为类似于DD/MM/YYYY或Week/Month/Year等的内容

我做了一些研究,显然epi周也被称为CDC周,到目前为止,我发现了python 3的一个扩展/包,名为“epiweeks”

使用epiweeks软件包,我可以将一些“正常”日期转换为软件包创建者所指的某种epiweeks形式,但它们与我在数据集中看到的完全不同


例如,如果我使用今天的日期,即2019年5月24日(2019年5月24日),则输出为:“2019年第21周”,但这是数据中前四个条目(并且采用相同的格式,所有其他条目)的样子:

计划免疫周

‘197006’

‘197007’

‘197008’

‘197012’


[1]中的
:标题
出[1]:
[epi周”、“州”、“loc”、“loc类型”、“疾病”、“病例”、“每100000人发病率”]
在[2]中:疾病[4]
出[2]:
[['197006','AK','阿拉斯加','STATE','腮腺炎','0','0'],
['197007','AK','阿拉斯加','STATE','MUMPS','0','0'],
['197008','AK','阿拉斯加','STATE','MUMPS','0','0'],
['197012','AK','阿拉斯加','STATE','腮腺炎','0','0']]
开发该软件包是为了解决您在这里遇到的问题

使用您提供的示例数据,让我们创建一个新列,其中包含一周结束日期:

将熊猫作为pd导入
从每周导入
列=['epi_week'、'state'、'loc'、'loc_type',
“疾病”、“病例”、“每100000人的发病率”]
数据=[
['197006','AK','阿拉斯加','STATE','MUMPS','0','0'],
['197007','AK','阿拉斯加','STATE','MUMPS','0','0'],
['197008','AK','阿拉斯加','STATE','MUMPS','0','0'],
['197012','AK','阿拉斯加','STATE','腮腺炎','0','0']
]
df=pd.DataFrame(数据,列=列)
#现在以ISO格式创建一个新列,其中包含一周结束日期
df['week_ending']=df['epi_week'].apply(lambda x:week.fromstring(x).enddate())
结果是:

我建议您查看epiweeks包以了解更多示例

如果只需要年和周列,则无需使用epiweeks包即可完成:

df['year'] = df['epi_week'].apply(lambda x: int(x[:4]))
df['week'] = df['epi_week'].apply(lambda x: int(x[4:6]))
结果是:

开发该软件包是为了解决您在这里遇到的问题

使用您提供的示例数据,让我们创建一个新列,其中包含一周结束日期:

将熊猫作为pd导入
从每周导入
列=['epi_week'、'state'、'loc'、'loc_type',
“疾病”、“病例”、“每100000人的发病率”]
数据=[
['197006','AK','阿拉斯加','STATE','MUMPS','0','0'],
['197007','AK','阿拉斯加','STATE','MUMPS','0','0'],
['197008','AK','阿拉斯加','STATE','MUMPS','0','0'],
['197012','AK','阿拉斯加','STATE','腮腺炎','0','0']
]
df=pd.DataFrame(数据,列=列)
#现在以ISO格式创建一个新列,其中包含一周结束日期
df['week_ending']=df['epi_week'].apply(lambda x:week.fromstring(x).enddate())
结果是:

我建议您查看epiweeks包以了解更多示例

如果只需要年和周列,则无需使用epiweeks包即可完成:

df['year'] = df['epi_week'].apply(lambda x: int(x[:4]))
df['week'] = df['epi_week'].apply(lambda x: int(x[4:6]))
结果是: