我有一个数据框,表示来自我收集的加速度计的数据。我正在尝试将2个单独的数据帧组合到一个文件中,其中一个具有加速度计数据。我试图在此数据帧中查找特定时间戳的x,y,z值。我尝试使用df.loc
,但是它仅适用于具有对象数据类型的列,在我的情况下是“ date”(我不必费心将其更改为datetime,因为我不需要使用它)。
time timedelta64[ns]
date object
x_axis float64
y_axis float64
z_axis float64
dtype: object
我正在使用此代码按时间查找行:
test_df = dataset.set_index('time')
print(test_df.dtypes)
test_df.loc[18:40:01]
这是我的加速度计数据框
time date x_axis y_axis z_axis
1.0 18:40:01 15/7/2018 0.776363 -1.106174 -7.898244
2.0 18:40:02 15/7/2018 1.503269 0.368612 -4.248112
3.0 18:40:03 15/7/2018 1.018665 2.070288 -3.869580
但是它返回错误
KeyError: 'the label [0 days 18:40:01] is not in the [index]'
如果我尝试通过使用loc
的x_axis列中的某个值来查找行,也会发生同样的事情
print(test_df.index)
的EDIT 结果
Index(['18:40:1', '18:40:2', '18:40:3', '18:40:4', '18:40:5', '18:40:6',
'18:40:7', '18:40:8', '18:40:9', '18:40:10',
...
'17:20:40', '17:20:41', '17:20:42', '17:20:43', '17:20:44', '17:20:45',
'17:20:46', '17:20:47', '17:20:48', '17:20:49'],
dtype='object', name='time', length=80225)
答案 0 :(得分:0)
有问题需要将索引转换为test_df.index = pd.to_timedelta(test_df.index)
:
0
或通过删除最后一个df = test_df.loc['18:40:1']
来更改选择的字符串:
@RequestMapping(value = "/api/Policies", method = RequestMethod.GET)
public ResponseEntity<List<Policies>> getPolicy(Principal principal) {
System.out.println("Prnicipal: " + principal.getName());
}