第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

更改多個日期列的日期格式的功能

更改多個日期列的日期格式的功能

BIG陽 2023-04-25 15:50:25
我有一個包含多種日期格式的大型數(shù)據(jù)框,我想清理此數(shù)據(jù)集,但我確實想知道是否可以找到此日期列并更改其格式,而無需一次覆蓋一列。這就是我提取所有以前綴日期開頭的列的方式date_df = df.loc[:,df.columns.str.startswith("date")] 然后從這里我寫了一個函數(shù)來將日期格式從字符串更改為日期時間 YMD。from datetime import datetimedef date_fomated():dates = df.loc[:,date_df.columns.datetime.strftime('%m/%d/%Y')]return dates這沒有用..我的預(yù)期結(jié)果是創(chuàng)建一個函數(shù),該函數(shù)使用前綴“date”將這些多個日期列中的格式日期設(shè)置為 YMD 來對日期列進(jìn)行子集化。這是一個要使用的小數(shù)據(jù)集import pandas as pddata = [['2020-06-24','2020-01-24'],['2020-05-04','2020-06-24'],['2018-11-24','2018-11-24'],['2018-11-24','2018-11-24']]df = pd.DataFrame(data,columns=['date_today','date_adm'],dtype=float)print (df)請協(xié)助
查看完整描述

2 回答

?
森林海

TA貢獻(xiàn)2011條經(jīng)驗 獲得超2個贊

請使用df.filter(like='date', axis=1)(包含“日期”)或df.filter(regex='^date', axis=1)(starts with date) and apply pd.to_datetime to thedf進(jìn)行過濾


原始 df dtypes


 df.filter(like='date', axis=1).dtypes#filter columns that contain date and check their dtypes

    

    df.dtypes

    date_today    object

    date_adm      object

    dtype: object

解決方案


df.filter(like='date', axis=1).apply(lambda x: pd.to_datetime(x))

新數(shù)據(jù)類型


df.filter(like='date', axis=1).apply(lambda x: pd.to_datetime(x)).dtypes



df.dtypes

date_today    datetime64[ns]

date_adm      datetime64[ns]

dtype: object


查看完整回答
反對 回復(fù) 2023-04-25
?
江戶川亂折騰

TA貢獻(xiàn)1851條經(jīng)驗 獲得超5個贊

讓我們使用stack和filter


df = pd.DataFrame({'date1' : ['20200105','20210305'],

                  'date2' : [20200103, 20210309],

                  'id' : [0,1] })



      date1     date2  id

0  20200105  20200103   0

1  20210305  20210309   1



df.loc[:,df.filter(like='date').columns] = df.filter(like='date')\

                                                .stack()\

                                                .apply(pd.to_datetime,

                                                       format='%Y%m%d')\

                                                .unstack()

print(df)


       date1      date2  id

0 2020-01-05 2020-01-03   0

1 2021-03-05 2021-03-09   1


print(df.dtypes)


date1    datetime64[ns]

date2    datetime64[ns]

id                int64

dtype: object


查看完整回答
反對 回復(fù) 2023-04-25
  • 2 回答
  • 0 關(guān)注
  • 135 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號