[英]Converting Date Format in a Dataframe from a CSV File
我需要將csv文件的日期格式轉換為正確的pandas格式,以便以后進行排序。 我當前的格式無法在大熊貓中進行合理的交互,因此我不得不進行轉換。
這是我的csv文件的樣子:
ARTIST,ALBUM,TRACK,DATE
ARTIST1,ALBUM1,TRACK1,23 Nov 2019 02:08
ARTIST1,ALBUM1,TRACK1,23 Nov 2019 02:11
ARTIST1,ALBUM1,TRACK1,23 Nov 2019 02:15
到目前為止,我已經通過執行以下操作成功將其轉換為熊貓格式:
df= pd.read_csv("mycsv.csv", delimiter=',')
convertdate= pd.to_datetime(df["DATE"])
print convertdate
####
#Original date format: 23 Nov 2019 02:08
#Output and desired date format: 2019-11-23 02:08:00
但是,這只會更改整個“ DATE”列中的值。 打印csv文件的數據框仍然會輸出原始的,未轉換的日期格式。 我需要將轉換后的格式附加到源csv文件中。
我想要的輸出將是
ARTIST,ALBUM,TRACK,DATE
ARTIST1,ALBUM1,TRACK1,2019-11-23 02:08:00
ARTIST1,ALBUM1,TRACK1,2019-11-23 02:11:00
ARTIST1,ALBUM1,TRACK1,2019-11-23 02:15:00
dateparse = lambda x: pd.datetime.strptime(x, '%Y-%m-%d %H:%M:%S')
df = pd.read_csv('mycsv.csv', parse_dates=['DATE'], date_parser=dateparse)
read_csv方法有很多選項。 確保以所需的格式讀取數據,而不是稍后進行修復。
df = pd.read_csv('mycsv.csv"', parse_dates=['DATE'])
只需將要轉換的列名傳遞給parse_dates參數即可。
原始代碼中有2個問題。 它不是原始數據框的一部分,因為轉換后沒有將其保存回到列中。
所以代替:
convertdate= pd.to_datetime(df["DATE"])
使用:
df["DATE"]= pd.to_datetime(df["DATE"])
順便說一句, 停止使用python 2 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.