簡體   English   中英

將帶有 int 和 string 的混合日期轉換為日期

[英]convert mixed date with int and string to date

我有一個帶有日期列的數據框。 日期格式與整數和字符串“混合”,例如:“2000 年 1 月 15 日”。 我想要一個日期像“2000-01-15”的列

list_dates = ['15 January 2000', '16 January 2000', '17 January 2000']
df_dates = pd.DataFrame(list_dates)

df_dates['expect'] = ['2000-01-15', '2000-01-16', '2000-01-17']

我期待像“df_dates['expect']”這樣的列。 謝謝你的幫助!

這是一種方法:

df_dates['expect'] = pd.to_datetime(df_dates['date'])

干得好:

from datetime import datetime

new_values = []
for d in df_dates[0].values:
    dt = datetime.strptime(d, '%d %B %Y')
    new_values.append(f'{dt.year}-{dt.month}-{dt.day}')
df_dates[0] = new_values

一個簡單的解決方案是使用pandas.to_datetime函數。

您正在尋找的功能:

df_dates["expect"] = pd.to_datetime(df_dates["column_name"])

代碼片段如下所示:

import pandas as pd

list_dates = ['15 January 2000', '16 January 2000', '17 January 2000']
df_dates = pd.DataFrame(list_dates)
df_dates['expect'] = pd.to_datetime(df_dates[0])
print(df_dates)

輸出:

                 0     expect
0  15 January 2000 2000-01-15
1  16 January 2000 2000-01-16
2  17 January 2000 2000-01-17

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM