[英]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.