【发布时间】:2018-06-09 09:46:00
【问题描述】:
我有一个数据框数组[time][Gforce] 的值,代表从钟摆的运动中收集的数据。
看起来像这样:
时间 TgF
0 0.993
1 0.988
2 0.982
3 0.983
......
36882 1.002
36883 1.000
绘制,看起来像这样:
https://i.imgur.com/nyvqBjx.png (没有足够的声誉来发布图片?)
Gforce 值在开始和结束时几乎保持不变,而不是开始振荡:变大到最大值,而不是变小到最小值(有点)。
我需要的是找出“转变”发生在什么时候,例如:
时间 TgF
5.23 0.228
5.237 0.195
5.241 0.194
5.245 0.203
5.251 0.238
我可以使用循环,这很容易实现,例如:
p1 = pandas.read_csv('Pendulo 1.csv', sep=',')
for i in range(1070, p1.TgF.size):
if(p1.TgF[i] > p1.TgF[i+1] and p1.TgF[i+1] < p1.TgF[i+2]):
print(p1.time[i+1])
break
但我觉得对于我拥有的数据量(36884 个数据点)来说太慢了。有没有更好的方法使用一些 Python 魔法?
Ps.:这是我在 StackOverflow 上的第一个问题,希望它的布局很好:)
【问题讨论】:
标签: python arrays csv dataframe max