gpt4 book ai didi

python - 将年转换为年月日 python pandas csv

转载 作者:太空宇宙 更新时间:2023-11-03 16:53:07 30 4
gpt4 key购买 nike

请注意,我的 csv 文件中有近 10 个条目,如下所示

PatienceID      Case        Treatment     Admitted_Date      Discharged_Date
PAT1002 Fever Yes 1929-02-10 1929-02-13
PAT1023 Ebola Yes 2015-10-21 2015-12-29
PAT1003 HIV No 2012 2014-02-21
PAT1991 Headache Yes 2013 2013
PAT2028 Epilepsy Yes 2011 2016
PAT2931 Malaria Yes 2016-01-23 2016

如果我们研究 csv,Admissed_Date 和/或 Discharged_Date 下的值只有年份,没有月日。我不知道如何用 Month-DAY 来完成日期(即,Discharge_Date 将在已承认的日期之前,例如让我们考虑 Admissed_Date = 2013Discharged_Date = 2013,如果 Admissed_Date01-01-2013,则 Discharged_Date 应为 12-12-2013 (一月至十二月)

我已经尝试过各种可能性,但情况变得更加困惑。我很感激,非常感谢。

预期输出:

PatienceID      Case        Treatment     Admitted_Date      Discharged_Date
PAT1002 Fever Yes 1929-02-10 1929-02-13
PAT1023 Ebola Yes 2015-10-21 2015-12-29
PAT1003 HIV No 2012-MM-DD 2014-02-21
PAT1991 Headache Yes 2013-MM-DD 2013-MM-DD
PAT2028 Epilepsy Yes 2011-MM-DD 2016-MM-DD
PAT2931 Malaria Yes 2016-01-23 2016-MM-DD

到目前为止我已经尝试过

import pandas as pd

DF = pd.read_csv('mydata.csv')
for Admitted_Date, Discharged_Date in DF
pd.to_datetime(mydata.pop('Date'), format="%b%Y")

最佳答案

IIUC你可以先尝试转换列to_datetime然后使用 YearEnd ,其中原始列的长度为 4 by maskloc :

df['Admitted_Date'] = pd.to_datetime(df['Admitted_Date'])
mask = df['Discharged_Date'].str.len() == 4
print mask
0 False
1 False
2 False
3 True
4 True
5 True
Name: Discharged_Date, dtype: bool

df['Discharged_Date'] = pd.to_datetime(df['Discharged_Date'])
df.loc[mask, 'Discharged_Date' ] += pd.offsets.YearEnd()
print df
PatienceID Case Treatment Admitted_Date Discharged_Date
0 PAT1002 Fever Yes 1929-02-10 1929-02-13
1 PAT1023 Ebola Yes 2015-10-21 2015-12-29
2 PAT1003 HIV No 2012-01-01 2014-02-21
3 PAT1991 Headache Yes 2013-01-01 2013-12-31
4 PAT2028 Epilepsy Yes 2011-01-01 2016-12-31
5 PAT2931 Malaria Yes 2016-01-23 2016-12-31

关于python - 将年转换为年月日 python pandas csv,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35687215/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com