pbootcms网站模板|日韩1区2区|织梦模板||网站源码|日韩1区2区|jquery建站特效-html5模板网

    <small id='7gKBp'></small><noframes id='7gKBp'>

  • <i id='7gKBp'><tr id='7gKBp'><dt id='7gKBp'><q id='7gKBp'><span id='7gKBp'><b id='7gKBp'><form id='7gKBp'><ins id='7gKBp'></ins><ul id='7gKBp'></ul><sub id='7gKBp'></sub></form><legend id='7gKBp'></legend><bdo id='7gKBp'><pre id='7gKBp'><center id='7gKBp'></center></pre></bdo></b><th id='7gKBp'></th></span></q></dt></tr></i><div class="r5zpbxn" id='7gKBp'><tfoot id='7gKBp'></tfoot><dl id='7gKBp'><fieldset id='7gKBp'></fieldset></dl></div>

      <tfoot id='7gKBp'></tfoot>

          <bdo id='7gKBp'></bdo><ul id='7gKBp'></ul>
        <legend id='7gKBp'><style id='7gKBp'><dir id='7gKBp'><q id='7gKBp'></q></dir></style></legend>

        Python pandas 通過 dt 訪問器有效地將日期時間轉換

        Python pandas convert datetime to timestamp effectively through dt accessor(Python pandas 通過 dt 訪問器有效地將日期時間轉換為時間戳)

            <tbody id='CwYkm'></tbody>

          <legend id='CwYkm'><style id='CwYkm'><dir id='CwYkm'><q id='CwYkm'></q></dir></style></legend>

            1. <tfoot id='CwYkm'></tfoot>
              <i id='CwYkm'><tr id='CwYkm'><dt id='CwYkm'><q id='CwYkm'><span id='CwYkm'><b id='CwYkm'><form id='CwYkm'><ins id='CwYkm'></ins><ul id='CwYkm'></ul><sub id='CwYkm'></sub></form><legend id='CwYkm'></legend><bdo id='CwYkm'><pre id='CwYkm'><center id='CwYkm'></center></pre></bdo></b><th id='CwYkm'></th></span></q></dt></tr></i><div class="fzx7vdr" id='CwYkm'><tfoot id='CwYkm'></tfoot><dl id='CwYkm'><fieldset id='CwYkm'></fieldset></dl></div>

              <small id='CwYkm'></small><noframes id='CwYkm'>

                <bdo id='CwYkm'></bdo><ul id='CwYkm'></ul>
                  本文介紹了Python pandas 通過 dt 訪問器有效地將日期時間轉換為時間戳的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!

                  問題描述

                  我有一個包含一些(數億)行的數據框.我想有效地將??日期時間轉換為時間戳.我該怎么做?

                  我的示例df:

                  df = pd.DataFrame(index=pd.DatetimeIndex(start=dt.datetime(2016,1,1,0,0,1),結束=dt.datetime(2016,1,2,0,0,1), 頻率='H')).reset_index().rename(columns={'index':'datetime'})df.head()約會時間0 2016-01-01 00:00:011 2016-01-01 01:00:012 2016-01-01 02:00:013 2016-01-01 03:00:014 2016-01-01 04:00:01

                  現在我使用 .apply() 將日期時間逐個轉換為時間戳值,但如果我有一些(數億)行,則需要很長時間(幾個小時):

                  df['ts'] = df[['datetime']].apply(lambda x: x[0].timestamp(), axis=1).astype(int)df.head()日期時間 ts0 2016-01-01 00:00:01 14516028011 2016-01-01 01:00:01 14516064012 2016-01-01 02:00:01 14516100013 2016-01-01 03:00:01 14516136014 2016-01-01 04:00:01 1451617201

                  上面的結果就是我想要的.

                  如果我嘗試使用 pandas.Series.dt 訪問器,則會收到錯誤消息:

                  df['ts'] = df['datetime'].dt.timestamp

                  <塊引用>

                  AttributeError: 'DatetimeProperties' 對象沒有屬性'時間戳'

                  如果我嘗試創建例如.使用 .dt 訪問器的日期時間的日期部分比使用 .apply() 快得多:

                  df['date'] = df['datetime'].dt.datedf.head()日期時間 ts 日期0 2016-01-01 00:00:01 1451602801 2016-01-011 2016-01-01 01:00:01 1451606401 2016-01-012 2016-01-01 02:00:01 1451610001 2016-01-013 2016-01-01 03:00:01 1451613601 2016-01-014 2016-01-01 04:00:01 1451617201 2016-01-01

                  我想要類似時間戳的東西...

                  但我不太了解官方文檔:它談到轉換為時間戳" 但我沒有看到任何時間戳;它只是談論使用 pd.to_datetime() 轉換為日期時間,而不是時間戳...

                  pandas.Timestamp 構造函數也不起作用(返回以下錯誤):

                  df['ts2'] = pd.Timestamp(df['datetime'])

                  <塊引用>

                  TypeError:無法將輸入轉換為時間戳

                  pandas.Series.to_timestamp 也做出了我想要的完全不同的東西:

                  df['ts3'] = df['datetime'].to_timestampdf.head()日期時間 ts ts30 2016-01-01 00:00:01 1451602801 <綁定方法 Series.to_timestamp of 0 2016...1 2016-01-01 01:00:01 1451606401 <綁定方法 Series.to_timestamp of 0 2016...2 2016-01-01 02:00:01 1451610001 <綁定方法 Series.to_timestamp of 0 2016...3 2016-01-01 03:00:01 1451613601 <綁定方法 Series.to_timestamp of 0 2016...4 2016-01-01 04:00:01 1451617201 <綁定方法 Series.to_timestamp of 0 2016...

                  謝謝!!

                  解決方案

                  我覺得你需要先轉換成 numpy array by values 并轉換為 int64 - 輸出在 ns,所以需要除以10 ** 9:

                  df['ts'] = df.datetime.values.astype(np.int64)//10 ** 9打印 (df)日期時間 ts0 2016-01-01 00:00:01 14516064011 2016-01-01 01:00:01 14516100012 2016-01-01 02:00:01 14516136013 2016-01-01 03:00:01 14516172014 2016-01-01 04:00:01 14516208015 2016-01-01 05:00:01 14516244016 2016-01-01 06:00:01 14516280017 2016-01-01 07:00:01 14516316018 2016-01-01 08:00:01 14516352019 2016-01-01 09:00:01 145163880110 2016-01-01 10:00:01 145164240111 2016-01-01 11:00:01 145164600112 2016-01-01 12:00:01 145164960113 2016-01-01 13:00:01 145165320114 2016-01-01 14:00:01 145165680115 2016-01-01 15:00:01 145166040116 2016-01-01 16:00:01 145166400117 2016-01-01 17:00:01 145166760118 2016-01-01 18:00:01 145167120119 2016-01-01 19:00:01 145167480120 2016-01-01 20:00:01 145167840121 2016-01-01 21:00:01 145168200122 2016-01-01 22:00:01 145168560123 2016-01-01 23:00:01 145168920124 2016-01-02 00:00:01 1451692801

                  to_timestamp 用于將 從周期索引轉換為日期時間索引.

                  I have a dataframe with some (hundreds of) million of rows. And I want to convert datetime to timestamp effectively. How can I do it?

                  My sample df:

                  df = pd.DataFrame(index=pd.DatetimeIndex(start=dt.datetime(2016,1,1,0,0,1),
                      end=dt.datetime(2016,1,2,0,0,1), freq='H'))
                      .reset_index().rename(columns={'index':'datetime'})
                  
                  df.head()
                  
                               datetime
                  0 2016-01-01 00:00:01
                  1 2016-01-01 01:00:01
                  2 2016-01-01 02:00:01
                  3 2016-01-01 03:00:01
                  4 2016-01-01 04:00:01
                  

                  Now I convert datetime to timestamp value-by-value with .apply() but it takes a very long time (some hours) if I have some (hundreds of) million rows:

                  df['ts'] = df[['datetime']].apply(lambda x: x[0].timestamp(), axis=1).astype(int)
                  
                  df.head()
                  
                               datetime          ts
                  0 2016-01-01 00:00:01  1451602801
                  1 2016-01-01 01:00:01  1451606401
                  2 2016-01-01 02:00:01  1451610001
                  3 2016-01-01 03:00:01  1451613601
                  4 2016-01-01 04:00:01  1451617201
                  

                  The above result is what I want.

                  If I try to use the .dt accessor of pandas.Series then I get error message:

                  df['ts'] = df['datetime'].dt.timestamp
                  

                  AttributeError: 'DatetimeProperties' object has no attribute 'timestamp'

                  If I try to create eg. the date parts of datetimes with the .dt accessor then it is much more faster then using .apply():

                  df['date'] = df['datetime'].dt.date
                  
                  df.head()
                  
                               datetime          ts        date
                  0 2016-01-01 00:00:01  1451602801  2016-01-01
                  1 2016-01-01 01:00:01  1451606401  2016-01-01
                  2 2016-01-01 02:00:01  1451610001  2016-01-01
                  3 2016-01-01 03:00:01  1451613601  2016-01-01
                  4 2016-01-01 04:00:01  1451617201  2016-01-01
                  

                  I want something similar with timestamps...

                  But I don't really understand the official documentation: it talks about "Converting to Timestamps" but I don't see any timestamps there; it just talks about converting to datetime with pd.to_datetime() but not to timestamp...

                  pandas.Timestamp constructor also doesn't work (returns with the below error):

                  df['ts2'] = pd.Timestamp(df['datetime'])
                  

                  TypeError: Cannot convert input to Timestamp

                  pandas.Series.to_timestamp also makes something totally different that I want:

                  df['ts3'] = df['datetime'].to_timestamp
                  
                  df.head()
                  
                               datetime          ts                                                ts3
                  0 2016-01-01 00:00:01  1451602801  <bound method Series.to_timestamp of 0    2016...
                  1 2016-01-01 01:00:01  1451606401  <bound method Series.to_timestamp of 0    2016...
                  2 2016-01-01 02:00:01  1451610001  <bound method Series.to_timestamp of 0    2016...
                  3 2016-01-01 03:00:01  1451613601  <bound method Series.to_timestamp of 0    2016...
                  4 2016-01-01 04:00:01  1451617201  <bound method Series.to_timestamp of 0    2016...
                  

                  Thank you!!

                  解決方案

                  I think you need convert first to numpy array by values and cast to int64 - output is in ns, so need divide by 10 ** 9:

                  df['ts'] = df.datetime.values.astype(np.int64) // 10 ** 9
                  print (df)
                                datetime          ts
                  0  2016-01-01 00:00:01  1451606401
                  1  2016-01-01 01:00:01  1451610001
                  2  2016-01-01 02:00:01  1451613601
                  3  2016-01-01 03:00:01  1451617201
                  4  2016-01-01 04:00:01  1451620801
                  5  2016-01-01 05:00:01  1451624401
                  6  2016-01-01 06:00:01  1451628001
                  7  2016-01-01 07:00:01  1451631601
                  8  2016-01-01 08:00:01  1451635201
                  9  2016-01-01 09:00:01  1451638801
                  10 2016-01-01 10:00:01  1451642401
                  11 2016-01-01 11:00:01  1451646001
                  12 2016-01-01 12:00:01  1451649601
                  13 2016-01-01 13:00:01  1451653201
                  14 2016-01-01 14:00:01  1451656801
                  15 2016-01-01 15:00:01  1451660401
                  16 2016-01-01 16:00:01  1451664001
                  17 2016-01-01 17:00:01  1451667601
                  18 2016-01-01 18:00:01  1451671201
                  19 2016-01-01 19:00:01  1451674801
                  20 2016-01-01 20:00:01  1451678401
                  21 2016-01-01 21:00:01  1451682001
                  22 2016-01-01 22:00:01  1451685601
                  23 2016-01-01 23:00:01  1451689201
                  24 2016-01-02 00:00:01  1451692801
                  

                  to_timestamp is used for converting from period to datetime index.

                  這篇關于Python pandas 通過 dt 訪問器有效地將日期時間轉換為時間戳的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,也希望大家多多支持html5模板網!

                  【網站聲明】本站部分內容來源于互聯網,旨在幫助大家更快的解決問題,如果有圖片或者內容侵犯了您的權益,請聯系我們刪除處理,感謝您的支持!

                  相關文檔推薦

                  python: Two modules and classes with the same name under different packages(python:不同包下同名的兩個模塊和類)
                  Configuring Python to use additional locations for site-packages(配置 Python 以使用站點包的其他位置)
                  How to structure python packages without repeating top level name for import(如何在不重復導入頂級名稱的情況下構造python包)
                  Install python packages on OpenShift(在 OpenShift 上安裝 python 包)
                  How to refresh sys.path?(如何刷新 sys.path?)
                  Distribute a Python package with a compiled dynamic shared library(分發帶有已編譯動態共享庫的 Python 包)
                    • <bdo id='JwqNH'></bdo><ul id='JwqNH'></ul>

                      <i id='JwqNH'><tr id='JwqNH'><dt id='JwqNH'><q id='JwqNH'><span id='JwqNH'><b id='JwqNH'><form id='JwqNH'><ins id='JwqNH'></ins><ul id='JwqNH'></ul><sub id='JwqNH'></sub></form><legend id='JwqNH'></legend><bdo id='JwqNH'><pre id='JwqNH'><center id='JwqNH'></center></pre></bdo></b><th id='JwqNH'></th></span></q></dt></tr></i><div class="wc6wqac" id='JwqNH'><tfoot id='JwqNH'></tfoot><dl id='JwqNH'><fieldset id='JwqNH'></fieldset></dl></div>
                        1. <legend id='JwqNH'><style id='JwqNH'><dir id='JwqNH'><q id='JwqNH'></q></dir></style></legend>
                              <tbody id='JwqNH'></tbody>
                            <tfoot id='JwqNH'></tfoot>

                            <small id='JwqNH'></small><noframes id='JwqNH'>

                            主站蜘蛛池模板: 艺术涂料|木纹漆施工|稻草漆厂家|马来漆|石桦奴|水泥漆|选加河南天工涂料 | 派财经_聚焦数字经济内容服务平台 | 背压阀|减压器|不锈钢减压器|减压阀|卫生级背压阀|单向阀|背压阀厂家-上海沃原自控阀门有限公司 本安接线盒-本安电路用接线盒-本安分线盒-矿用电话接线盒-JHH生产厂家-宁波龙亿电子科技有限公司 | 压片机_高速_单冲_双层_花篮式_多功能旋转压片机-上海天九压片机厂家 | 单电机制砂机,BHS制砂机,制沙机设备,制砂机价格-正升制砂机厂家 单级/双级旋片式真空泵厂家,2xz旋片真空泵-浙江台州求精真空泵有限公司 | 邢台人才网_邢台招聘网_邢台123招聘【智达人才网】 | 回转炉,外热式回转窑,回转窑炉-淄博圣元窑炉工程有限公司 | LINK FASHION 童装·青少年装展 河南卓美创业科技有限公司-河南卓美防雷公司-防雷接地-防雷工程-重庆避雷针-避雷器-防雷检测-避雷带-避雷针-避雷塔、机房防雷、古建筑防雷等-山西防雷公司 | 绿萝净除甲醛|深圳除甲醛公司|测甲醛怎么收费|培训机构|电影院|办公室|车内|室内除甲醛案例|原理|方法|价格立马咨询 | 北京易通慧公司从事北京网站优化,北京网络推广、网站建设一站式服务商-北京网站优化公司 | 泵阀展|阀门展|水泵展|流体机械展 -2025上海国际泵管阀展览会flowtech china | 定做大型恒温循环水浴槽-工业用不锈钢恒温水箱-大容量低温恒温水槽-常州精达仪器 | 体感VRAR全息沉浸式3D投影多媒体展厅展会游戏互动-万展互动 | 岛津二手液相色谱仪,岛津10A液相,安捷伦二手液相,安捷伦1100液相-杭州森尼欧科学仪器有限公司 | 菲希尔FISCHER测厚仪-铁素体检测仪-上海吉馨实业发展有限公司 | 飞飞影视_热门电影在线观看_影视大全 | 合肥仿石砖_合肥pc砖厂家_合肥PC仿石砖_安徽旭坤建材有限公司 | 丹佛斯变频器-Danfoss战略代理经销商-上海津信变频器有限公司 | Eiafans.com_环评爱好者 环评网|环评论坛|环评报告公示网|竣工环保验收公示网|环保验收报告公示网|环保自主验收公示|环评公示网|环保公示网|注册环评工程师|环境影响评价|环评师|规划环评|环评报告|环评考试网|环评论坛 - Powered by Discuz! | 春腾云财 - 为企业提供专业财税咨询、代理记账服务 | 细砂提取机,隔膜板框泥浆污泥压滤机,螺旋洗砂机设备,轮式洗砂机械,机制砂,圆锥颚式反击式破碎机,振动筛,滚筒筛,喂料机- 上海重睿环保设备有限公司 | SOUNDWELL 编码器|电位器|旋转编码器|可调电位器|编码开关厂家-广东升威电子制品有限公司 | 微动开关厂家-东莞市德沃电子科技有限公司 | 定坤静电科技静电消除器厂家-除静电设备 | 环氧乙烷灭菌器_压力蒸汽灭菌器_低温等离子过氧化氢灭菌器 _低温蒸汽甲醛灭菌器_清洗工作站_医用干燥柜_灭菌耗材-环氧乙烷灭菌器_脉动真空压力蒸汽灭菌器_低温等离子灭菌设备_河南省三强医疗器械有限责任公司 | 讲师宝经纪-专业培训机构师资供应商_培训机构找讲师、培训师、讲师经纪就上讲师宝经纪 | 淄博不锈钢,淄博不锈钢管,淄博不锈钢板-山东振远合金科技有限公司 | 贵州科比特-防雷公司厂家提供贵州防雷工程,防雷检测,防雷接地,防雷设备价格,防雷产品报价服务-贵州防雷检测公司 | 工业硝酸钠,硝酸钠厂家-淄博「文海工贸」 | 桑茶-七彩贝壳桑叶茶 长寿茶 | 喷播机厂家_二手喷播机租赁_水泥浆洒布机-河南青山绿水机电设备有限公司 | 北京浩云律师事务所-企业法律顾问_破产清算等公司法律服务 | 北京森语科技有限公司-模型制作专家-展览展示-沙盘模型设计制作-多媒体模型软硬件开发-三维地理信息交互沙盘 | 水厂污泥地磅|污泥处理地磅厂家|地磅无人值守称重系统升级改造|地磅自动称重系统维修-河南成辉电子科技有限公司 | 清水-铝合金-建筑模板厂家-木模板价格-铝模板生产「五棵松」品牌 | 黑龙江京科脑康医院-哈尔滨精神病医院哪家好_哈尔滨精神科医院排名_黑龙江精神心理病专科医院 | 科昊仪器超纯水机系统-可成气相液氮罐-美菱超低温冰箱-西安昊兴生物科技有限公司 | 西门子气候补偿器,锅炉气候补偿器-陕西沃信机电工程有限公司 | 过滤器_自清洗过滤器_气体过滤器_苏州华凯过滤技术有限公司 | hc22_hc22价格_hc22哈氏合金—东锜特殊钢 | 聚丙烯酰胺_厂家_价格-河南唐达净水材料有限公司 |