Pandas中将 Object 类型 转换为 datetime

我们在创建一个DataFrame的矩阵数据表的时候,有时候会用到时间来标记index,但是,偏偏我们读出来的数据就是object型的数据,那就需要我们来转换一下了
代码语法
pandas.to_datetime(arg,format=None,unit=None)
参数含义
arg需要转换类型的数据
format所输入数据的时间格式
unit最小时间间隔,(Y:年;m:月;d:天)
代码实例

准备数据

        order_book_id        date  limit_down     open  limit_up  num_trades    close      volume  total_turnover     high      low
0         600161.XSHG  2015-01-05     11.2745  12.5121   13.7789      6101.0  12.7839  13794261.0     177930938.0  12.9198  12.2646
1         600161.XSHG  2015-01-06     11.5075  12.7791   14.0604      7125.0  13.1916  15235971.0     203203224.0  13.3469  12.6723
2         600161.XSHG  2015-01-07     11.8715  13.2741   14.5117      5166.0  13.2353  12485790.0     167635295.0  13.4440  13.0072
3         600161.XSHG  2015-01-08     11.9103  13.2353   14.5603      5575.0  13.2450  12447156.0     169846617.0  13.6381  13.1576
4         600161.XSHG  2015-01-09     11.9200  13.4780   14.5700      8867.0  13.5799  21315529.0     298020996.0  14.0167  13.4780
...               ...         ...         ...      ...       ...         ...      ...         ...             ...      ...      ...
3015155   600668.XSHG  2018-12-25     10.5088  11.5343   12.8430      4056.0  11.5245   4623668.0      53972726.0  11.5929  11.2413
3015156   600668.XSHG  2018-12-26     10.3721  11.5538   12.6770      5270.0  11.7296   5052711.0      60656284.0  11.8175  11.4952
3015157   600668.XSHG  2018-12-27     10.5576  11.8956   12.9016      5270.0  11.5343   4189265.0      50372678.0  11.9152  11.5343
3015158   600668.XSHG  2018-12-28     10.3818  11.5343   12.6867      4302.0  11.5245   2651152.0      31367172.0  11.6710  11.4659
3015159   600668.XSHG  2019-01-02     10.3721  11.5343   12.6770      4325.0  11.2608   3608002.0      42027008.0  11.6026  11.2217

[3015160 rows x 11 columns]

查看info()信息

<class 'pandas.core.frame.DataFrame'>
RangeIndex: 3015160 entries, 0 to 3015159
Data columns (total 11 columns):
order_book_id     object
date              object
limit_down        float64
open              float64
limit_up          float64
num_trades        float64
close             float64
volume            float64
total_turnover    float64
high              float64
low               float64
dtypes: float64(9), object(2)
memory usage: 253.0+ MB
None

截图
date类型
我们可以看到,此时columns中的date的类型是object

那么,如果说我们要将date设置为index,并且能够要求根据时间条件进行切片,那么,我们就要将date的类型进行转换了
import pandas as pd
import numpy as np

pd.set_option('display.max_columns', 10000)

pd.set_option('display.width', 10000)

pd.set_option('display.max_colwidth', 10000)

file_path = "../csv_data/价格数据2015-01-01-2019-01-02.csv"

initial_data = pd.read_csv(file_path)
time_data = pd.to_datetime(initial_data["date"],format='%Y-%m-%d')
initial_data["date"] = time_data

date_index = initial_data.set_index(["date"])
print(date_index.info())
comprehensive_data = date_index["2015-01-01":"2019-01-01"]
s = comprehensive_data.groupby(by="order_book_id")
for i in s:
    print(i)

代码

随后我们将date设置成index,并且还做了条件的查询,根据实际情况进行了分组聚合,最终拿到结果
('000001.XSHE',            order_book_id  limit_down     open  limit_up  num_trades    close       volume  total_turnover     high      low
date                                                                                                                       
2015-01-05   000001.XSHE      9.2836  10.4099   11.3408     92478.0  10.4294  411902846.0    4.565388e+09  10.5987  10.1560
2015-01-06   000001.XSHE      9.3878  10.3187   11.4710     80325.0  10.2732  311964682.0    3.453446e+09  10.6703  10.1234
2015-01-07   000001.XSHE      9.2445  10.1299   11.3018     72697.0  10.0779  244817376.0    2.634796e+09  10.3057   9.9607
2015-01-08   000001.XSHE      9.0688  10.0909   11.0869     68734.0   9.7393  202710846.0    2.128003e+09  10.1364   9.7003
2015-01-09   000001.XSHE      8.7628   9.7003   10.7159     99882.0   9.8174  361224033.0    3.835378e+09  10.3318   9.5766
...                  ...         ...      ...       ...         ...      ...          ...             ...      ...      ...
2018-12-24   000001.XSHE      8.4181   9.2985   10.2877     21980.0   9.3183   50911767.0    4.771869e+08   9.3479   9.2095
2018-12-25   000001.XSHE      8.3884   9.1897   10.2481     27340.0   9.2391   58661545.0    5.452356e+08   9.3282   9.1105
2018-12-26   000001.XSHE      8.3192   9.2490   10.1591     21088.0   9.1996   42114060.0    3.932151e+08   9.3183   9.1699
2018-12-27   000001.XSHE      8.2796   9.3479   10.1195     26768.0   9.1798   62459327.0    5.863438e+08   9.3875   9.1798
2018-12-28   000001.XSHE      8.2598   9.2095   10.0997     22504.0   9.2787   57660400.0    5.415710e+08   9.3578   9.2095

[975 rows x 10 columns])
('000002.XSHE',            order_book_id  limit_down     open  limit_up  num_trades    close       volume  total_turnover     high      low
date                                                                                                                       
2015-01-05   000002.XSHE     10.3949  11.9570   12.7049    185938.0  12.3891  656083570.0    9.700712e+09  12.7049  11.8158
2015-01-06   000002.XSHE     11.1510  12.1315   13.6272    123274.0  11.9321  334634683.0    4.839616e+09  12.4556  11.6745
2015-01-07   000002.XSHE     10.7356  11.8490   13.1287     91329.0  11.8241  264205133.0    3.772151e+09  12.0484  11.6330
2015-01-08   000002.XSHE     10.6442  11.8989   13.0040    108081.0  11.2923  263939418.0    3.629554e+09  11.9404  11.1843
2015-01-09   000002.XSHE     10.1622  11.2508   12.4224    115193.0  11.1760  329458430.0    4.521978e+09  11.8158  11.0430
...                  ...         ...      ...       ...         ...      ...          ...             ...      ...      ...
2018-12-24   000002.XSHE     20.9891  22.9986   25.6522     48537.0  22.9601   49321942.0    1.164771e+09  23.1524  22.4313
2018-12-25   000002.XSHE     20.6622  22.5178   25.2580     40469.0  23.0466   42690126.0    1.016226e+09  23.2870  22.4794
2018-12-26   000002.XSHE     20.7391  22.9216   25.3542     25425.0  22.8832   22198726.0    5.285310e+08  23.0563  22.6717
2018-12-27   000002.XSHE     20.5949  23.3158   25.1715     34044.0  22.5371   35250178.0    8.492423e+08  23.6139  22.5371
2018-12-28   000002.XSHE     20.2872  22.7582   24.7869     31182.0  22.9024   32281093.0    7.727037e+08  23.3062  22.7582

[975 rows x 10 columns])
('000004.XSHE',            order_book_id  limit_down   open  limit_up  num_trades  close     volume  total_turnover   high    low
date                                                                                                             
2015-01-05   000004.XSHE       14.01  15.58     17.13      2653.0  15.69  2809512.0     43746563.20  15.90  15.30
2015-01-06   000004.XSHE       14.12  15.65     17.26      3129.0  16.46  3337859.0     53863311.46  16.56  15.50
2015-01-07   000004.XSHE       14.81  16.45     18.11      2048.0  16.41  2073761.0     33752404.94  16.54  16.11
2015-01-08   000004.XSHE       14.77  16.41     18.05      3441.0  16.92  3645003.0     61074528.43  17.03  16.24
2015-01-09   000004.XSHE       15.23  16.92     18.61      2425.0  16.43  2715044.0     44894158.25  16.95  16.26
...                  ...         ...    ...       ...         ...    ...        ...             ...    ...    ...
2018-12-24   000004.XSHE       14.64  16.29     17.90       405.0  16.45   230700.0      3776770.00  16.50  16.08
2018-12-25   000004.XSHE       14.81  16.42     18.10       417.0  16.17   229500.0      3698461.00  16.42  15.92
2018-12-26   000004.XSHE       14.55  16.18     17.79       279.0  16.31   163400.0      2653802.00  16.45  16.16
2018-12-27   000004.XSHE       14.68  16.61     17.94       345.0  16.03   197500.0      3226195.00  16.61  16.03
2018-12-28   000004.XSHE       14.43  15.73     17.63       275.0  16.03   167100.0      2685455.00  16.26  15.73

[975 rows x 10 columns])
('000005.XSHE',            order_book_id  limit_down  open  limit_up  num_trades  close     volume  total_turnover  high   low
date                                                                                                          
2015-01-05   000005.XSHE        0.00  4.10      0.00         0.0   4.10        0.0             0.0  4.10  4.10
2015-01-06   000005.XSHE        0.00  4.10      0.00         0.0   4.10        0.0             0.0  4.10  4.10
2015-01-07   000005.XSHE        0.00  4.10      0.00         0.0   4.10        0.0             0.0  4.10  4.10
2015-01-08   000005.XSHE        0.00  4.10      0.00         0.0   4.10        0.0             0.0  4.10  4.10
2015-01-09   000005.XSHE        0.00  4.10      0.00         0.0   4.10        0.0             0.0  4.10  4.10
...                  ...         ...   ...       ...         ...    ...        ...             ...   ...   ...
2018-12-24   000005.XSHE        2.55  2.83      3.11       696.0   2.84  1800000.0       5119151.0  2.86  2.82
2018-12-25   000005.XSHE        2.56  2.83      3.12      1950.0   2.76  5437752.0      14976403.0  2.83  2.72
2018-12-26   000005.XSHE        2.48  2.76      3.04      1169.0   2.74  3255500.0       8949578.0  2.77  2.73
2018-12-27   000005.XSHE        2.47  2.80      3.01      1503.0   2.66  5145255.0      14089573.0  2.80  2.66
2018-12-28   000005.XSHE        2.39  2.66      2.93      1192.0   2.68  3717158.0       9921105.0  2.69  2.65

[975 rows x 10 columns])
('000006.XSHE',            order_book_id  limit_down    open  limit_up  num_trades   close       volume  total_turnover    high     low
date                                                                                                                   
2015-01-05   000006.XSHE      5.6909  6.3631    6.9546     25095.0  6.3452  107864712.0    7.753464e+08  6.6230  6.2914
2015-01-06   000006.XSHE      5.7089  6.2735    6.9815     14055.0  6.1390   56627101.0    3.881573e+08  6.2735  6.0494
2015-01-07   000006.XSHE      5.5296  6.0942    6.7574      7948.0  6.1480   31064550.0    2.133143e+08  6.2287  6.0494
2015-01-08   000006.XSHE      5.5296  6.1838    6.7664     10003.0  6.0763   31136710.0    2.136464e+08  6.2735  5.9956
2015-01-09   000006.XSHE      5.4669  6.0136    6.6857      7181.0  6.0046   34609949.0    2.349265e+08  6.1570  6.0046
...                  ...         ...     ...       ...         ...     ...          ...             ...     ...     ...
2018-12-24   000006.XSHE      4.6814  5.2026    5.7239      4195.0  5.1447   10425400.0    5.548671e+07  5.2220  5.0868
2018-12-25   000006.XSHE      4.6332  5.0386    5.6563      5348.0  4.9903   11680205.0    5.998073e+07  5.0579  4.8552
2018-12-26   000006.XSHE      4.4884  4.9806    5.4922      2678.0  5.0482    8184010.0    4.271484e+07  5.0772  4.9710
2018-12-27   000006.XSHE      4.5463  5.1158    5.5501      3026.0  4.9806    6960886.0    3.650962e+07  5.1447  4.9806
2018-12-28   000006.XSHE      4.4787  5.0386    5.4826      2308.0  4.9999    5026323.0    2.608634e+07  5.0482  4.9710

[975 rows x 10 columns])
。
。
。
。
:datetime型与object型数据相互转换
语法作用
to_datetime()object转为datetime
strftime()datetime转为object

完。

  • 8
    点赞
  • 31
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值