如何使用日期格式转换数据中的列以使其成为pandas

时间:2018-05-16 12:59:39

标签: python pandas datetime

我正在尝试使用“fechas”列中的日期对pandas进行分析,有人可以解释如何将日期格式赋予该列。

                                               LEY         Unnamed: 3  \
0    Por medio de la cual se regula el uso del Desf...              Salud   
1    Por medio de la cual se adopta la estrategia S...              Salud   
2    Por medio de la cual se incentiva la adecuada ...              Salud   
3    Por la cual se decreta el presupuesto de renta...              Salud   
4     Por medio de la cual se modifican la Ley 73 d...              Salud   
5    Por medio de la cual se prohíben los procedimi...              Salud    


                 FECHA  
0        3 de agosto, 2017  
1       1 de febrero, 2017  
2       1 de febrero, 2017  
3       8 de febrero, 2017  
4       1 de febrero, 2017  
5       1 de febrero, 2017  

AÑO                            NOMBRE  \
0    2017.0                  Ley 1831 de 2017   
1    2017.0   Ley 1823 del 4 de enero de 2017   
2    2017.0   Ley 1822 del 4 de enero de 2017   
3    2016.0                  Ley 1815 de 2016   
4    2016.0  Ley 1805 del 4 de agosto de 2016   
5    2016.0   Ley 1799 del 25 de julio de2016   

1 个答案:

答案 0 :(得分:4)

dateparser模块能够处理多种语言,包括法语,俄语,西班牙语,荷兰语和20多种语言。它还可以识别时区缩写等内容。

import dateparser
dateparser.parse('3 de agosto, 2017')

# output - datetime.datetime(2017, 8, 3, 0, 0)

现在使用dateparser模块和pandas.apply()来获得您想要的内容 -

df['FECHA'] = df['FECHA'].apply(lambda x: dateparser.parse(x))

或者只是 -

df['FECHA'].apply(dateparser.parse)

或者感谢@jpp -

df = pd.read_csv('file.csv', parse_dates=['FECHA'], date_parser=dateparser.parse)

<强>输出

0   2017-08-03
1   2017-02-01
2   2017-02-01
3   2017-02-08
4   2017-02-01
5   2017-02-01
Name: FECHA, dtype: datetime64[ns]