如何修改Python Pandas中呈现日期列的格式和形式?



我有如下的Python Pandas DataFrame:

col1
----
01.05.2019
02.11.2022
11.08.2001

And col1在"object"格式。

我需要从csv和read_csv"读取这个数据帧修改功能:

  1. 从"object";date"
  2. 格式的表示值,因为当我只使用:df= pd.read_csv("df.csv", delimiter=";", index_col=0, parse_dates=['col1'])格式的"col1"是"date"但是表单被更改为例如:"2019-05-01">

我的代码如下:

df= pd.read_csv("df.csv", delimiter=";", index_col=0, parse_dates=['col1'], date_parser=lambda x: pd.to_datetime(x, format='%d.%m.%Y'))

如何根据需要修改代码?

  1. 目前我有
  2. 的形式
  3. 日期如:01.05.2019
  4. 然而,它是
  5. 对象
  6. 我想修改"object";date"在日期栏中仍然有值格式如下:01.05.2019
  7. 然而,当我使用我的代码时,我终于有了像&;datetime&;这样的数据格式。但形式不好,因为像:2019-05-01。

如果这只是一个格式化日期而不是解析它的问题-您可以这样做:

import io
some_data = """a   01.05.2019
b   02.11.2022
c   11.08.2001"""
# read data, ensuring parsing as datetime64
some_df = pd.read_csv(io.StringIO(some_data), delimiter='s+', names=['ix', 'date'], parse_dates=[
'date'], date_parser=lambda x: pd.to_datetime(x, format='%d.%m.%Y'))

# format the date to a string as desired
some_df['date_formated'] = some_df.date.apply(lambda x: x.strftime('%d.%m.%Y'))
some_df
ix       date date_formated
0  a 2019-05-01    01.05.2019
1  b 2022-11-02    02.11.2022
2  c 2001-08-11    11.08.2001

最新更新