在索引中将对象转换为日期类型

时间:2017-09-25 10:52:56

标签: pandas

我已经使用

在剪贴板中读取了一些数据
clipdf = pd.read_clipboard()

            A           B           C           D   F
2013-01-01  0.000000    0.000000    -1.509059   5   NaN
2013-01-02  1.212112    -0.173215   0.119209    5   1.0
2013-01-03  -0.861849   -2.104569   -0.494929   5   2.0
2013-01-04  0.721555    -0.706771   -1.039575   5   3.0
2013-01-05  -0.424972   0.567020    0.276232    5   4.0
2013-01-06  -0.673690   0.113648    -1.478427   5   5.0

但我意识到索引是object类型

Index(['2013-01-01', '2013-01-02', '2013-01-03', '2013-01-04', '2013-01-05',
       '2013-01-06'],
      dtype='object')

...而不是键入datetime64

DatetimeIndex(['2013-01-01', '2013-01-02', '2013-01-03', '2013-01-04',
               '2013-01-05', '2013-01-06'],
              dtype='datetime64[ns]', freq='D')
  1. 将索引转换为Datetime64类型是否很重要?
  2. 我怎样才能在实践中这样做?
  3. 此致

1 个答案:

答案 0 :(得分:1)

我认为parse_dates=True需要参数DatetimeIndex

clipdf = pd.read_clipboard(parse_dates=True)
print (clipdf.index)

DatetimeIndex(['2013-01-01', '2013-01-02', '2013-01-03', '2013-01-04',
               '2013-01-05', '2013-01-06'],
              dtype='datetime64[ns]', freq=None)

或者:

clipdf = pd.read_clipboard()
clipdf.index = pd.to_datetime(clipdf.index)
#alternative
#clipdf.index = pd.DatetimeIndex(clipdf.index)
print(clipdf.index)
DatetimeIndex(['2013-01-01', '2013-01-02', '2013-01-03', '2013-01-04',
               '2013-01-05', '2013-01-06'],
              dtype='datetime64[ns]', freq=None)
  

将索引转换为Datetime64类型是否很重要?

我认为这取决于你的需要。但显然是的,特别是如果使用像resample这样的函数。性能也应该更好。