我有一个带有24小时时间序列的csv文件,其中包含来自7个不同阀门(solenoid vales
)的测量值,每10分钟更换一次(阀门1,2,3,4,5,6,1,2,3 ,4,5,6,7,然后再从1开始)。我想在每次阀门测量时分配一个唯一的Measurement ID
(1,2,3,4,5,6,7,8,9,10,11,12,13 ...)以便我可以在后续步骤中提取每个测量间隔的最后10秒(=行)。
大熊猫的理论是否可行?我试图找到一个可以应用的功能,但未成功。
我从我的pandas数据框df
df=pd.read_csv(file)
Out[61]:
DATE_TIME solenoid_valves N2O CH4 CO2_ppm
0 10/08/2016 12:04:56 7.000000 0.272953 1.810904 NaN
....
8740 10/08/2016 14:30:36 2.000000 0.349828 29.527575 352.32
8741 10/08/2016 14:30:37 NaN NaN NaN 352.61
8742 10/08/2016 14:30:38 2.000000 0.349729 29.508612 352.12
8743 10/08/2016 14:30:39 2.000000 0.349655 29.501180 352.88
8744 10/08/2016 14:30:40 2.200969 0.349388 29.492402 353.16
8745 10/08/2016 14:30:41 2.600484 0.347622 29.483979 352.44
8746 10/08/2016 14:30:42 3.000000 0.341632 29.476394 352.96
...
56512 11/08/2016 3:46:48 3.000000 0.300992 8.988894 420.42
56513 11/08/2016 3:46:49 3.000000 0.304847 8.990150 420.60
56514 11/08/2016 3:46:50 3.143836 0.302620 8.991343 420.89
56515 11/08/2016 3:46:51 4.000000 0.295150 8.992416 421.90
56516 11/08/2016 3:46:52 4.000000 0.286783 8.993618 421.90
56517 11/08/2016 3:46:53 4.000000 0.285636 8.994677 421.57
56518 11/08/2016 3:46:54 NaN NaN NaN 422.47
56519 11/08/2016 3:46:55 4.000000 0.276346 8.993526 422.75
56520 11/08/2016 3:46:56 4.000000 0.277580 8.992645 423.02
我发现了以下挑战:
NaN
)。 我不确定,如果我想要的是可能的,但它会彻底改变我的数据分析,所以任何输入都会受到高度赞赏!
答案 0 :(得分:0)
删除任何缺少值的行:
df = df.dropna()
然后,通过将列与其转换后的值进行比较,仅保留整数:
df = df[df.solenoid_valves == df.solenoid_valves.astype(int)]