Как преобразовать DateTime в строку в Pandas (с примерами)


Вы можете использовать следующий базовый синтаксис для преобразования столбца из DateTime в строку в pandas:

df['column_name']. dt.strftime('%Y-%m-%d')

В следующем примере показано, как использовать этот синтаксис на практике.

Пример: преобразование DateTime в строку в Pandas

Предположим, у нас есть следующий кадр данных pandas, который показывает продажи в каком-то магазине за четыре разных дня:

import pandas as pd

#create DataFrame
df = pd.DataFrame({'day ': pd.to_datetime (pd.Series(['20210101', '20210105',
 '20210106', '20210109'])),
 'sales': [1440, 1845, 2484, 2290]})

#view DataFrame
df

 day sales
0 2021-01-01 1440
1 2021-01-05 1845
2 2021-01-06 2484
3 2021-01-09 2290

Мы можем использовать функцию dtypes для просмотра типа данных каждого столбца в DataFrame:

#view data type of each column
df.dtypes

day datetime64[ns]
sales int64
dtype: object

Мы видим, что столбец «день» имеет класс DateTime .

Чтобы преобразовать «день» в строку, мы можем использовать следующий синтаксис:

#convert 'day' column to string
df['day'] = df['day']. dt.strftime('%Y-%m-%d')

#view updated DataFrame
df

  day sales
0 2021-01-01 1440
1 2021-01-05 1845
2 2021-01-06 2484
3 2021-01-09 2290

Мы можем снова использовать функцию dtypes , чтобы убедиться, что столбец «день» теперь является строкой:

#view data type of each column
df.dtypes

day object
sales int64
dtype: object

Примечание.Полную документацию по функции dt.strftime() можно найти здесь .

Дополнительные ресурсы

В следующих руководствах объясняется, как выполнять другие распространенные преобразования в Python:

Как преобразовать дату и время в дату в pandas
Как преобразовать столбцы в DateTime в Pandas
Как преобразовать отметку времени в дату и время в pandas