欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Pandas中字符串和時間轉(zhuǎn)換與格式化的實現(xiàn)

 更新時間:2023年01月17日 09:53:00   作者:夏悠  
本文主要介紹了Pandas中字符串和時間轉(zhuǎn)換與格式化的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

Pandas 提供了若干個函數(shù)來格式化時間。

把字符串轉(zhuǎn)為時間格式

其中,最常用的是 to_datetime() 函數(shù)。

可以使用 to_datetime() 函數(shù)將一個字符串解析為時間,并指定字符串的格式。例如:

import pandas as pd

# 將字符串 "2022-01-01" 轉(zhuǎn)為時間格式
time = pd.to_datetime("2022-01-01", format="%Y-%m-%d")

print(time)

輸出:

<class 'pandas._libs.tslibs.timestamps.Timestamp'>:2022-01-01 00:00:00

把時間格式化為字符串

還可以使用 strftime() 函數(shù)將時間格式化為字符串。例如:

import pandas as pd

# 將時間 "2022-01-01 00:00:00" 格式化為字符串
time_str = pd.to_datetime("2022-01-01 00:00:00").strftime("%Y-%m-%d")

print(time_str)

輸出:

<class 'str'>:2022-01-01

格式化某一列的時間為字符串

如果想要格式化某一列中的時間,可以使用 pandas 的 to_datetime 函數(shù)。

例如,假設(shè)你有一個名為 df 的數(shù)據(jù),并且你想要格式化其中一列名為 “Date” 的時間列,你可以這樣做:

df['Date'] = pd.to_datetime(df['Date'])

這將會將 “Date” 列中的所有時間轉(zhuǎn)換為 Pandas 的時間數(shù)據(jù)類型。你也可以指定一個特定的時間格式,例如:

df['Date'] = pd.to_datetime(df['Date'], format='%Y-%m-%d %H:%M:%S')

這將會將 “Date” 列中的所有時間按照指定的格式轉(zhuǎn)換為 Pandas 的時間數(shù)據(jù)類型。

遇到的錯誤

但是,我在修改以下數(shù)據(jù)的格式時,想要把listed_date和delisted_date格式化為字符串,出現(xiàn)了錯誤。

      sec_id  sec_name               listed_date             delisted_date
2716  hc2301  熱軋卷板2301 2022-01-18 00:00:00+08:00 2023-01-16 00:00:00+08:00
2717  hc2302  熱軋卷板2302 2022-02-16 00:00:00+08:00 2023-02-15 00:00:00+08:00
2718  hc2303  熱軋卷板2303 2022-03-16 00:00:00+08:00 2023-03-15 00:00:00+08:00
2719  hc2304  熱軋卷板2304 2022-04-18 00:00:00+08:00 2023-04-17 00:00:00+08:00
2720  hc2305  熱軋卷板2305 2022-05-17 00:00:00+08:00 2023-05-15 00:00:00+08:00
2721  hc2306  熱軋卷板2306 2022-06-16 00:00:00+08:00 2023-06-15 00:00:00+08:00
2722  hc2307  熱軋卷板2307 2022-07-18 00:00:00+08:00 2023-07-17 00:00:00+08:00
2723  hc2308  熱軋卷板2308 2022-08-16 00:00:00+08:00 2023-08-15 00:00:00+08:00
2724  hc2309  熱軋卷板2309 2022-09-16 00:00:00+08:00 2023-09-15 00:00:00+08:00
2725  hc2310  熱軋卷板2310 2022-10-18 00:00:00+08:00 2023-10-16 00:00:00+08:00
2726  hc2311  熱軋卷板2311 2022-11-16 00:00:00+08:00 2023-11-15 00:00:00+08:00
2727  hc2312  熱軋卷板2312 2022-12-16 00:00:00+08:00 2023-12-15 00:00:00+08:00

格式化代碼如下:

data_choose['listed_date'] = data_choose['listed_date'].dt.strftime('%Y-%m-%d %H:%M:%S')
data_choose['delisted_date'] = data_choose['delisted_date'].dt.strftime('%Y-%m-%d %H:%M:%S')

報錯:

SettingWithCopyWarning:      
A value is trying to be set on a copy of a slice from a DataFrame

See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy

推測錯誤原因:

不能直接修改原來的dataframe上的列,然后再替換原來的列數(shù)據(jù)。

于是,復(fù)制了一個數(shù)據(jù)副本:

data_new = data_choose.copy()

data_new['listed_date'] = data_choose['listed_date'].dt.strftime('%Y-%m-%d %H:%M:%S')
data_new['delisted_date'] = data_choose['delisted_date'].dt.strftime('%Y-%m-%d %H:%M:%S')

在復(fù)制的數(shù)據(jù)上進行修改,果然沒再報錯。

輸出:

      sec_id  sec_name          listed_date        delisted_date
2716  hc2301  熱軋卷板2301  2022-01-18 00:00:00  2023-01-16 00:00:00
2717  hc2302  熱軋卷板2302  2022-02-16 00:00:00  2023-02-15 00:00:00
2718  hc2303  熱軋卷板2303  2022-03-16 00:00:00  2023-03-15 00:00:00
2719  hc2304  熱軋卷板2304  2022-04-18 00:00:00  2023-04-17 00:00:00
2720  hc2305  熱軋卷板2305  2022-05-17 00:00:00  2023-05-15 00:00:00
2721  hc2306  熱軋卷板2306  2022-06-16 00:00:00  2023-06-15 00:00:00
2722  hc2307  熱軋卷板2307  2022-07-18 00:00:00  2023-07-17 00:00:00
2723  hc2308  熱軋卷板2308  2022-08-16 00:00:00  2023-08-15 00:00:00
2724  hc2309  熱軋卷板2309  2022-09-16 00:00:00  2023-09-15 00:00:00
2725  hc2310  熱軋卷板2310  2022-10-18 00:00:00  2023-10-16 00:00:00
2726  hc2311  熱軋卷板2311  2022-11-16 00:00:00  2023-11-15 00:00:00
2727  hc2312  熱軋卷板2312  2022-12-16 00:00:00  2023-12-15 00:00:00

使用apply()和lambda函數(shù)

另一種格式化方式,并不會出錯:

# 把日期改為字符串
data_choose.listed_date = data_choose.listed_date.apply(lambda x: x.strftime("%Y-%m-%d %H:%M:%S"))
# 把時間列轉(zhuǎn)為字符串
data_choose.delisted_date = data_choose.delisted_date.apply(lambda x: x.strftime("%Y-%m-%d %H:%M:%S"))

這里對列使用了apply()和lambda函數(shù),相當(dāng)于遍歷列的數(shù)據(jù)進行修改替換。

把某一列轉(zhuǎn)為時間格式
直接使用pd.to_datetime()就可以了。

這里不會出現(xiàn)錯誤。

# 把列轉(zhuǎn)為時間格式
data_new.listed_date = pd.to_datetime(data_new.listed_date)
data_new.delisted_date = pd.to_datetime(data_new.delisted_date)

到此這篇關(guān)于Pandas中字符串和時間轉(zhuǎn)換與格式化的實現(xiàn)的文章就介紹到這了,更多相關(guān)Pandas 字符串和時間轉(zhuǎn)換內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 深度總結(jié)Python中字符串的使用

    深度總結(jié)Python中字符串的使用

    本文主要來學(xué)習(xí)字符串?dāng)?shù)據(jù)類型相關(guān)知識,包括討論如何聲明字符串?dāng)?shù)據(jù)類型,字符串?dāng)?shù)據(jù)類型與?ASCII?表的關(guān)系等內(nèi)容,超級干貨,不容錯過
    2023-08-08
  • 使用mypy對python程序進行靜態(tài)檢查

    使用mypy對python程序進行靜態(tài)檢查

    大家好,本篇文章主要講的是使用mypy對python程序進行靜態(tài)檢查,感興趣的同學(xué)快來看一看吧,對你有幫助的話記得收藏一下哦
    2021-11-11
  • 5 分鐘讀懂Python 中的 Hook 鉤子函數(shù)

    5 分鐘讀懂Python 中的 Hook 鉤子函數(shù)

    這篇文章主要介紹了5 分鐘掌握 Python 中的 Hook 鉤子函數(shù),本文通過實例代碼給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-12-12
  • Python爬蟲之urllib庫詳解

    Python爬蟲之urllib庫詳解

    大家好,本篇文章主要講的是Python爬蟲之urllib庫詳解,感興趣的同學(xué)趕快來看一看吧,對你有幫助的話記得收藏一下
    2022-02-02
  • 解讀Python中的frame是什么

    解讀Python中的frame是什么

    這篇文章主要介紹了解讀Python中的frame是什么,關(guān)于frame使用講解,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-11-11
  • python利用pytesseract 實現(xiàn)本地識別圖片文字

    python利用pytesseract 實現(xiàn)本地識別圖片文字

    這篇文章主要介紹了python利用pytesseract 實現(xiàn)本地識別圖片文字,幫助大家更好的理解和使用python,感興趣的朋友可以了解下
    2020-12-12
  • pytorch 可視化feature map的示例代碼

    pytorch 可視化feature map的示例代碼

    今天小編就為大家分享一篇pytorch 可視化feature map的示例代碼,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-08-08
  • 解決python中os.system調(diào)用exe文件的問題

    解決python中os.system調(diào)用exe文件的問題

    這篇文章主要介紹了解決python中os.system調(diào)用exe文件的問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-05-05
  • Python實現(xiàn)基于多線程、多用戶的FTP服務(wù)器與客戶端功能完整實例

    Python實現(xiàn)基于多線程、多用戶的FTP服務(wù)器與客戶端功能完整實例

    這篇文章主要介紹了Python實現(xiàn)基于多線程、多用戶的FTP服務(wù)器與客戶端功能,結(jié)合完整實例形式分析了Python多線程、多用戶FTP服務(wù)器端與客戶端相關(guān)實現(xiàn)技巧與注意事項,需要的朋友可以參考下
    2017-08-08
  • 返回最大值的index pytorch方式

    返回最大值的index pytorch方式

    這篇文章主要介紹了返回最大值的index pytorch方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-07-07

最新評論