最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

pandas的to_datetime時間轉(zhuǎn)換使用及學習心得

 更新時間:2019年08月11日 15:09:20   作者:不論如何未來很美好  
這篇文章主要給大家介紹了關于pandas的to_datetime時間轉(zhuǎn)換使用及學習心得的相關資料,文中通過示例代碼介紹的非常詳細,對大家學習或者使用pandas具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧

前言

昨天在網(wǎng)賽中做了一道題,雖然是外國人的Englis題目,但是內(nèi)容很有學習的價值,值得仔細的學習,今天就把我所收獲的一部分記錄下來。其一:做個學習的資料記錄。其二:分享出來,供大家參考。

(收獲了對處理大數(shù)據(jù)的又一次認識?。。。?br />

這是一道將DataFrame的日期數(shù)據(jù)轉(zhuǎn)換為python能認識的題目。這里重點講一下to_datetime的部分使用。

首先說一下:

  • 1/17/07 has the format "%m/%d/%y"
  • 17-1-2007 has the format "%d-%m-%Y"

這是一部分的時間轉(zhuǎn)換格式,通過以上的格式,你可以將DataFrame中的時間格式轉(zhuǎn)換為以下等python格式:

0 2007-03-02
1 2007-03-22
2 2007-04-06
3 2007-04-14
4 2007-04-15
Name: date_parsed, dtype: datetime64[ns]

看見沒有dtype:datetime64,這是轉(zhuǎn)換過后的形式,其實你可以將原數(shù)據(jù)使用dtype查看列,來看它的格式。你會發(fā)現(xiàn)它是object形式的。這里說一下。這個object格式一般是python用來記錄可變化的兌現(xiàn)的格式。這個格式它并不能認出是時間格式,盡管我們一眼就能看出(人和機器的區(qū)別在此)。

data = pd.read_csv('path') #這里我們得到data數(shù)據(jù)
data['date'].heade() #查看一下日期列的樣子
0 01/02/1965
1 01/04/1965
2 01/05/1965
3 01/08/1965
4 01/09/1965
Name: Date, dtype: object

可以看出它為object格式,并非日期格式。

data['date_parsed'] = pd.to_datetime(data['date'],format="%m/%d/%y")

上面為 我們按python格式轉(zhuǎn)換時間,并添加到新的一列中去。

dara['date_parsed'].head()  #查看一下結果
0  1965-01-02
1  1965-01-04
2  1965-01-05
3  1965-01-08
4  1965-01-09
 
Name: data_parsed, dtype: datetime64[ns]

可以看到不論形式還是類型都改變了,當然這只是一點皮毛,如果只是這里點,這個博客意義不大

其實在使用上面語句轉(zhuǎn)換時間是,并不是這么順利:

/opt/conda/lib/python3.6/site-packages/pandas/core/tools/datetimes.py in _convert_listlike(arg, box, format, name, tz)
  271           try:
  272             result = array_strptime(arg, format, exact=exact,
--> 273                         errors=errors)
  274           except tslib.OutOfBoundsDatetime:
  275             if errors == 'raise':
 
pandas/_libs/tslibs/strptime.pyx in pandas._libs.tslibs.strptime.array_strptime()
 
ValueError: time data '1975-02-23T02:58:41.000Z' does not match format '%m/%d/%Y' (match)

一部分錯誤信息如上。

面對加載都要加載半天的數(shù)據(jù)出了錯誤,你真的是無助的,如果要去看數(shù)據(jù)怕是要看一天。

當然有人會說不是有錯誤信息嗎?當然我知道,但是一但當信息量大了以后,當時是茫然的?;税胩觳檎移渌麜r間的轉(zhuǎn)換方式。無果。于是靜下心來發(fā)現(xiàn)問題。可以看出它說有一下格式不能轉(zhuǎn)換。

'1975-02-23T02:58:41.000Z'

所以我又換了一種格式將時分秒都匹配了,又提醒年月日不匹配。反復的驗證后發(fā)現(xiàn)應該是原數(shù)據(jù)有問題,部分時間并不是同意的格式。哈哈發(fā)現(xiàn)問題了,我們可以修改了。

我第一次的修改方式為:

data['over_long'] = data['Date'].apply(len)  #添加一列記錄沒行時間的長度
data.loc[data['over_long'] > 10]  #輸出大于正常數(shù)據(jù)的行  這里會發(fā)現(xiàn)缺失有那么幾行在作怪!?。?/pre>
normal_dates = data.loc[data['over_long'] < 11]  #篩選出正常數(shù)據(jù)
normal_dates = normal_dates.copy()    #拷貝
normal_dates['data_parsed'] = pd.to_datetime(normal_dates['Date'],format='%m/%d/%Y')  #再次轉(zhuǎn)換時間,發(fā)現(xiàn)沒有報錯了 哈哈
normal_dates['data_parsed'].head(10)  #輸出查看沒問題的

以上是我的第一次解決方法。

后續(xù)在別人的指導下了解了其他的幾種更好的方法。(畢竟我刪除數(shù)據(jù)的方式不好)

第一種和第二種:

data['date_parsed'] = pd.to_datetime(data['Date'], format = "%m/%d/%Y", errors = 'coerce')
data['date_parsed'] = pd.to_datetime(data['Date'],infer_datetime_format=True)

兩個都能實現(xiàn)我試了一下。畢竟對to_datetime不太熟悉所以犯了錯。

OK!全部完成了。但是我想說的以上都不是最重要的。

最重要的是一種經(jīng)驗的掌握。當你面對大量的數(shù)據(jù)時千萬不要緊張,它們也是小數(shù)據(jù)構成的,只要冷靜下來,你就能想到方法來解決。這才是我想說的?。?!與君共勉。

總結

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對腳本之家的支持。

相關文章

  • python基礎編程小實例之計算圓的面積

    python基礎編程小實例之計算圓的面積

    Python是最常用的編程語言,這種語言就是一種可以快速開發(fā)應用的解釋型語言,有些用戶不知道該怎么在Python編程里計算圓的面積,現(xiàn)在就給大家具體解釋一下,下面這篇文章主要給大家介紹了關于python基礎編程小實例之計算圓的面積的相關資料,需要的朋友可以參考下
    2023-03-03
  • Python FFT合成波形的實例

    Python FFT合成波形的實例

    今天小編大家分享一篇Python FFT合成波形的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-12-12
  • python常見模塊與用法

    python常見模塊與用法

    這篇文章主要介紹了python常見模塊與用法,文中有非常詳細的代碼示例,對正在學習python的小伙伴們有一定的幫助,需要的朋友可以參考下
    2021-04-04
  • Pytorch中transforms.Resize()的簡單使用

    Pytorch中transforms.Resize()的簡單使用

    這篇文章主要介紹了Pytorch中transforms.Resize()的簡單使用方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-07-07
  • tensorboard 可視化之localhost:6006不顯示的解決方案

    tensorboard 可視化之localhost:6006不顯示的解決方案

    這篇文章主要介紹了tensorboard 可視化之localhost:6006不顯示的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-05-05
  • 深入學習Python中的上下文管理器與else塊

    深入學習Python中的上下文管理器與else塊

    這篇文章主要給大家介紹了關于Python中上下文管理器與else塊的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧。
    2017-08-08
  • 如何利用Python 快速找到最大文件

    如何利用Python 快速找到最大文件

    現(xiàn)在的電腦差不多都是固態(tài)硬盤了,速度很快,但容量不會太大,經(jīng)常會出現(xiàn)磁盤空間不足的情況,怎么辦,刪除那些不重要的最大的文件是最有效的辦法,這篇文章我們就來介紹介紹了如何利用Python 快速找到最大文件,需要的朋友可以參考一下
    2021-11-11
  • 輕松實現(xiàn)TensorFlow微信跳一跳的AI

    輕松實現(xiàn)TensorFlow微信跳一跳的AI

    這篇文章主要教大家如何輕松實現(xiàn)TensorFlow微信跳一跳的AI,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-01-01
  • Python 安裝setuptools和pip工具操作方法(必看)

    Python 安裝setuptools和pip工具操作方法(必看)

    下面小編就為大家?guī)硪黄狿ython 安裝setuptools和pip工具操作方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-05-05
  • python裝飾器代碼解析

    python裝飾器代碼解析

    這篇文章主要介紹了python裝飾器代碼解析,文章分享的內(nèi)容有裝飾器通用模型及一些關鍵點,通過舉例詳細介紹,具有一的參考價值,需要的朋友可以參考一下
    2022-03-03

最新評論

东平县| 富裕县| 汽车| 聊城市| 从江县| 玛曲县| 乾安县| 吴堡县| 长宁县| 祁阳县| 宜都市| 科技| 大荔县| 万州区| 东兰县| 祁门县| 社会| 和静县| 涿州市| 方正县| 威海市| 云阳县| 潮安县| 新晃| 武功县| 梁平县| 武平县| 杭锦后旗| 八宿县| 高要市| 襄垣县| 陕西省| 六枝特区| 五指山市| 班玛县| 阳谷县| 专栏| 施秉县| 景德镇市| 曲沃县| 昌宁县|