首页 > 解决方案 > 使用方括号的 Pandas 基础知识

问题描述

从代码中可以看出,我试图从 0 到列 time 中的 hr1 首先等于 1: 01 (或凌晨 1:01)的时间间隔打印出我的表格。当方括号中的 hr1 等于 1:01 时,我遇到了如何实现的问题。

import pandas as pd 

table = pd.read_csv('2019-01-20.csv')
speed = table['speed_mph']
time = table['timestamp']
x = 1

for hr1 in time: 
  if x < 2: 
    print(table[0:(hr1='1:01')])
    x += 1

标签: python

解决方案


最简单的方法是使用index找到第一个元素等于1.01

print(table[0:time.index('1:01')+1])

我在index()调用结果中添加了一个以包含该元素。请注意,如果 '1.01' 是列表中的最后一个元素,这将产生一个IndexError.

如果未找到该元素index()将引发ValueError.

另请注意,您不应将time其用作变量名,因为这会影响同名的 python 内置模块。

我也赞同上面的评论。简单地猜测语法可能会浪费很多时间。您可能还会发现您偶然得到了一些工作,后来由于不同的数据集而失败。


推荐阅读