python – 使用索引值访问Pandas Data Frame行

前端之家收集整理的这篇文章主要介绍了python – 使用索引值访问Pandas Data Frame行前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我有一个非常简单的Pandas数据框,其中包含一个索引(TimedeltaIndex类型)和一个名为TotalVolume的列.

  1. >> print(df)
  2. TotalVolume
  3. ...
  4. 09:00:00 143846.153846
  5. 09:05:00 84353.846154
  6. 09:10:00 46946.153846
  7. 09:15:00 46765.384615
  8. 09:20:00 53076.923077
  9. 09:25:00 31642.307692
  10. 09:30:00 48269.230769
  11. ...

我希望能够以09:00:00查询这本词典,并获得143846.153846.有关信息,这是索引的结构:

  1. >> print(df.index)
  2. TimedeltaIndex(['07:00:00','07:05:00','07:10:00','07:15:00','07:20:00','07:25:00','07:30:00','07:35:00','07:40:00','07:45:00','07:50:00','07:55:00','08:00:00','08:05:00','08:10:00','08:15:00','08:20:00','08:25:00','08:30:00','08:35:00','08:40:00','08:45:00','08:50:00','08:55:00','09:00:00','09:05:00','09:10:00','09:15:00','09:20:00','09:25:00','09:30:00','09:35:00','09:40:00','09:45:00','09:50:00','09:55:00','10:00:00','10:05:00','10:10:00','10:15:00','10:20:00','10:25:00','10:30:00','10:35:00','10:40:00','10:45:00','10:50:00','10:55:00','11:00:00','11:05:00','11:10:00','11:15:00','11:20:00','11:25:00','11:30:00','11:35:00','11:40:00','11:45:00','11:50:00','11:55:00','12:00:00','12:05:00','12:10:00','12:15:00','12:20:00','12:25:00','12:30:00','12:35:00','12:40:00','12:45:00','12:50:00','12:55:00','13:00:00','13:05:00','13:10:00','13:15:00','13:20:00','13:25:00','13:30:00','13:35:00','13:40:00','13:45:00','13:50:00','13:55:00','14:00:00','14:05:00','14:10:00','14:15:00','14:20:00','14:25:00','14:30:00','14:35:00','14:40:00','14:45:00','14:50:00','14:55:00','15:00:00'],dtype='timedelta64[ns]',freq=None)

当我做,

  1. print(df['09:00:00'])

我有

  1. TotalVolume
  2. 09:00:00 143846.153846
  3. 09:05:00 84353.846154
  4. 09:10:00 46946.153846
  5. 09:15:00 46765.384615
  6. 09:20:00 53076.923077
  7. 09:25:00 31642.307692
  8. 09:30:00 48269.230769
  9. 09:35:00 35715.384615
  10. 09:40:00 38576.923077
  11. 09:45:00 37211.538462
  12. 09:50:00 41803.846154
  13. 09:55:00 37503.846154

似乎过滤器没有按照我的意愿工作.它在09:05:00正常工作.

什么是最虔诚的方式呢?

最佳答案
对我来说工作loc

  1. print (df)
  2. TotalVolume
  3. 09:00:00 143846.153846
  4. 09:05:00 84353.846154
  5. 09:10:00 46946.153846
  6. 09:15:00 46765.384615
  7. 09:20:00 53076.923077
  8. 09:25:00 31642.307692
  9. 09:30:00 48269.230769
  10. print (df.index)
  11. TimedeltaIndex(['09:00:00','09:30:00'],freq=None)
  12. print(df.loc['09:00:00','TotalVolume'])
  13. 143846.153846
  14. print(df.loc['0 day 09:00:00','TotalVolume'])
  15. 143846.153846
  16. print(df.loc['09:00:00'])
  17. TotalVolume 143846.153846
  18. Name: 0 days 09:00:00,dtype: float64

但:

  1. print(df['09:05:00'])

KeyError: ’09:05:00′

和:

  1. print(df['09:05:00':'09:20:00'])
  2. TotalVolume
  3. 09:05:00 84353.846154
  4. 09:10:00 46946.153846
  5. 09:15:00 46765.384615
  6. 09:20:00 53076.923077

猜你在找的Python相关文章