我有一个很大的 Dataframe ,看起来像这样
delta_V Vsd current time_(s) Vg_out
0 -0.050 -0.198 -2.390e-06 3187.472 9.799 #local maximum
1 -0.047 -0.198 -2.444e-06 3188.019 9.662
2 -0.046 -0.198 -2.522e-06 3188.567 9.525
3 -0.044 -0.198 -2.619e-06 3189.114 9.388
4 -0.043 -0.198 -2.732e-06 3189.656 9.253
...
62 -0.049 -0.198 -1.103e-05 3221.261 1.351
63 -0.049 -0.198 -1.114e-05 3221.803 1.216
64 -0.049 -0.198 -1.125e-05 3222.352 1.079
65 -0.049 -0.198 -1.136e-05 3222.898 0.942
66 -0.049 -0.198 -1.148e-05 3223.446 0.805
70 -0.049 -0.198 -1.191e-05 3225.626 0.260
71 -0.049 -0.198 -1.202e-05 3226.171 0.124
72 -0.049 -0.198 -1.212e-05 3226.720 -0.013
73 -0.049 -0.198 -1.223e-05 3227.266 -0.150
77 -0.050 -0.198 -1.265e-05 3229.445 -0.695
78 -0.050 -0.198 -1.274e-05 3229.993 -0.832
...
136 -0.050 -0.198 -1.737e-05 3261.631 -8.741
137 -0.050 -0.198 -1.742e-05 3262.175 -8.877
138 -0.050 -0.198 -1.748e-05 3262.721 -9.014
142 -0.050 -0.198 -1.771e-05 3264.902 -9.559
143 -0.050 -0.198 -1.777e-05 3265.449 -9.695
144 -0.050 -0.198 -1.782e-05 3265.997 -9.832
145 -0.050 -0.198 -1.788e-05 3266.542 -9.969 #local minimum
146 -0.050 -0.198 -1.793e-05 3267.088 -9.969
147 -0.050 -0.198 -1.791e-05 3107.275 -9.834 #start ascend again
148 -0.050 -0.198 -1.778e-05 3107.819 -9.698
149 -0.050 -0.198 -1.766e-05 3108.363 -9.562
150 -0.050 -0.198 -1.754e-05 3108.906 -9.426
151 -0.050 -0.198 -1.743e-05 3109.443 -9.292
153 -0.050 -0.198 -1.721e-05 3110.524 -9.021
154 -0.050 -0.198 -1.711e-05 3111.064 -8.886
155 -0.050 -0.198 -1.700e-05 3111.604 -8.752
156 -0.050 -0.198 -1.690e-05 3112.149 -8.615
157 -0.050 -0.198 -1.679e-05 3112.695 -8.479
158 -0.050 -0.198 -1.669e-05 3113.237 -8.343
159 -0.050 -0.198 -1.658e-05 3113.783 -8.207
161 -0.050 -0.198 -1.637e-05 3114.874 -7.934
...
1315 -0.049 -0.198 -2.426e-06 3506.023 -9.648
1316 -0.050 -0.198 -2.409e-06 3506.571 -9.784
1317 -0.051 -0.198 -2.397e-06 3507.118 -9.921
1318 -0.051 -0.198 -2.388e-06 3507.665 -9.921
Vg_out
列以升序/降序模式跨越从10到-10的值。我想要做的是为Vg_out
值的每个升序和降序创建不同的 Dataframe 。具有从9.799到-10的第一个值的(降序) Dataframe ,以及从-10到10的下一个(升序) Dataframe ,等等。
我试着考虑for
循环,比如“当下一个Vg_out
值更小时,然后将该行放入不同的 Dataframe ”,但我不明白如何表达它,也不明白在Vg_out
列的两个连续值相等(比如最后两行)的情况下如何继续。
我是一个noobie在这里没有很强的编程背景,我会感谢任何帮助,非常感谢和欢呼!
编辑:在数据集中连续进行几次上升/下降(扫描)。@mozway建议的当前输出为:
#first dataset ends at `Vg_out` value = 0
delta_V Vsd current time_(s) Vg_out
0 -0.050 -0.198 -2.390e-06 3187.472 9.799
1 -0.047 -0.198 -2.444e-06 3188.019 9.662
...
71 -0.049 -0.198 -1.202e-05 3226.171 0.124
#second dataset starts from values<0 and ends again at 0
72 -0.049 -0.198 -1.212e-05 3226.720 -0.013
73 -0.049 -0.198 -1.223e-05 3227.266 -0.150
...
218 -0.048 -0.198 -9.649e-06 3146.003 -0.152
219 -0.048 -0.198 -9.519e-06 3146.548 -0.015
我希望数据集从局部最大值开始,到局部最小值结束。
1条答案
按热度按时间2eafrhcq1#
您可以用途:
此处输出: