【发布时间】:2021-08-19 02:33:13
【问题描述】:
第 2 列中的我的数据(此处以标题名称 N 显示)包括从 0 到 15 或从 0 到 7 等重复的周期数。第 3 列 CN由CN = np.cumsum(np.abs(np.diff(N)))计算
我想根据 CN 值从数据中获取切片。从值 1 到 14 以及从值 29-36 等等,然后绘制 N 和 CN 。 我面临的问题是我必须在绘图之前手动检查切片的 CN 值。我想要一个程序,它可以在 CN 值突然跳跃然后绘图时对数据进行切片
+-------+-----+----+-------+
| index | N | CN | Vdiff |
+-------+-----+----+-------+
| 524 | 2 | 1 | 0.0 |
| 525 | 2 | 1 | 0.0 |
| 526 | 2 | 1 | 0.0 |
| . | | | |
| . | | | |
| 5900 | 15 | 14 | 0.0 |
| 5901 | 15 | 29 | 0.1 |
| 5902 | 0 | 29 | 0.0 |
| . | | | |
| . | | | |
| 33001 | 7 | 36 | 0.0 |
| 33002 | 7 | 36 | 0.0 |
| 33003 | 7 | 43 | 0.1 |
| 33004 | 0 | 43 | 0.0 |
+-------+-----+----+-------+
import matplotlib.pyplot as plt
flt1 = (data['CN'] > 0) & (data['CN'] <= 14)
Amp1 = data.loc[flt1]
flt2 = (data['CN'] > 30) & (data['CN'] <= 36)
Amp2 = data.loc[flt2]
Amp1.plot(x='N',y='CN',kind='line')
【问题讨论】:
标签: python pandas dataframe numpy matplotlib