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

<tfoot id='Yckxl'></tfoot>
<legend id='Yckxl'><style id='Yckxl'><dir id='Yckxl'><q id='Yckxl'></q></dir></style></legend>

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

      1. Pandas Timedelta 以天为单位

        时间:2023-09-14

            <tfoot id='0lVrU'></tfoot>

                <tbody id='0lVrU'></tbody>

                <small id='0lVrU'></small><noframes id='0lVrU'>

              • <legend id='0lVrU'><style id='0lVrU'><dir id='0lVrU'><q id='0lVrU'></q></dir></style></legend>
                • <bdo id='0lVrU'></bdo><ul id='0lVrU'></ul>
                  <i id='0lVrU'><tr id='0lVrU'><dt id='0lVrU'><q id='0lVrU'><span id='0lVrU'><b id='0lVrU'><form id='0lVrU'><ins id='0lVrU'></ins><ul id='0lVrU'></ul><sub id='0lVrU'></sub></form><legend id='0lVrU'></legend><bdo id='0lVrU'><pre id='0lVrU'><center id='0lVrU'></center></pre></bdo></b><th id='0lVrU'></th></span></q></dt></tr></i><div id='0lVrU'><tfoot id='0lVrU'></tfoot><dl id='0lVrU'><fieldset id='0lVrU'></fieldset></dl></div>
                  本文介绍了Pandas Timedelta 以天为单位的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

                  问题描述

                  我在 pandas 中有一个名为munged_data"的数据框,其中包含两列entry_date"和dob",我已使用 pd.to_timestamp 将其转换为时间戳.我试图弄清楚如何根据时间计算人的年龄'entry_date' 和 'dob' 之间的区别,要做到这一点,我需要得到两列之间的天数差异(这样我就可以像 round(days/365.25) 一样做一些事情.我似乎无法找到一种使用矢量化操作的方法.当我执行 munged_data.entry_date-munged_data.dob 时,我得到以下信息:

                  I have a dataframe in pandas called 'munged_data' with two columns 'entry_date' and 'dob' which i have converted to Timestamps using pd.to_timestamp.I am trying to figure out how to calculate ages of people based on the time difference between 'entry_date' and 'dob' and to do this i need to get the difference in days between the two columns ( so that i can then do somehting like round(days/365.25). I do not seem to be able to find a way to do this using a vectorized operation. When I do munged_data.entry_date-munged_data.dob i get the following :

                  internal_quote_id
                  2                    15685977 days, 23:54:30.457856
                  3                    11651985 days, 23:49:15.359744
                  4                     9491988 days, 23:39:55.621376
                  7                     11907004 days, 0:10:30.196224
                  9                    15282164 days, 23:30:30.196224
                  15                  15282227 days, 23:50:40.261632  
                  

                  但是我似乎无法将天数提取为整数,以便我可以继续计算.任何帮助表示赞赏.

                  However i do not seem to be able to extract the days as an integer so that i can continue with my calculation. Any help appreciated.

                  推荐答案

                  你需要 0.11 这个(0.11rc1 已经出来了,下周最后的问题)

                  You need 0.11 for this (0.11rc1 is out, final prob next week)

                  In [9]: df = DataFrame([ Timestamp('20010101'), Timestamp('20040601') ])
                  
                  In [10]: df
                  Out[10]: 
                                      0
                  0 2001-01-01 00:00:00
                  1 2004-06-01 00:00:00
                  
                  In [11]: df = DataFrame([ Timestamp('20010101'), 
                                            Timestamp('20040601') ],columns=['age'])
                  
                  In [12]: df
                  Out[12]: 
                                    age
                  0 2001-01-01 00:00:00
                  1 2004-06-01 00:00:00
                  
                  In [13]: df['today'] = Timestamp('20130419')
                  
                  In [14]: df['diff'] = df['today']-df['age']
                  
                  In [16]: df['years'] = df['diff'].apply(lambda x: float(x.item().days)/365)
                  
                  In [17]: df
                  Out[17]: 
                                    age               today                diff      years
                  0 2001-01-01 00:00:00 2013-04-19 00:00:00 4491 days, 00:00:00  12.304110
                  1 2004-06-01 00:00:00 2013-04-19 00:00:00 3244 days, 00:00:00   8.887671
                  

                  最后你需要这个奇怪的应用程序,因为还没有完全支持 timedelta64[ns] 标量(例如,我们现在如何使用时间戳来处理 datetime64[ns],在 0.12 中)

                  You need this odd apply at the end because not yet full support for timedelta64[ns] scalars (e.g. like how we use Timestamps now for datetime64[ns], coming in 0.12)

                  这篇关于Pandas Timedelta 以天为单位的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持html5模板网!

                  上一篇:使用 strptime 将带偏移量的时间戳转换为 datetime 下一篇:将 datetime 转换为 Unix 时间戳并将其转换回 pytho

                  相关文章

                  最新文章

                • <legend id='KtGpI'><style id='KtGpI'><dir id='KtGpI'><q id='KtGpI'></q></dir></style></legend>

                    • <bdo id='KtGpI'></bdo><ul id='KtGpI'></ul>

                      <i id='KtGpI'><tr id='KtGpI'><dt id='KtGpI'><q id='KtGpI'><span id='KtGpI'><b id='KtGpI'><form id='KtGpI'><ins id='KtGpI'></ins><ul id='KtGpI'></ul><sub id='KtGpI'></sub></form><legend id='KtGpI'></legend><bdo id='KtGpI'><pre id='KtGpI'><center id='KtGpI'></center></pre></bdo></b><th id='KtGpI'></th></span></q></dt></tr></i><div id='KtGpI'><tfoot id='KtGpI'></tfoot><dl id='KtGpI'><fieldset id='KtGpI'></fieldset></dl></div>
                    1. <small id='KtGpI'></small><noframes id='KtGpI'>

                      <tfoot id='KtGpI'></tfoot>