仅将升序值从 CSV 导入到列表 - Python

戴夫·史塔克

我正在尝试仅将 CSV 文件的一部分导入到列表中。

简而言之,我收到的 CSV 包含两列 [深度和速度]。深度总是从零开始,变大然后又回到零。

我想将 CSV 的第一部分添加到列表中(深度 0-13+)。然后我想将 CSV (13-0) 的第二部分添加到另一个列表中。

我认为 for 循环将是要走的路,但我不知道如何检查每一行的升序/降序数字。

pullData = open("svp3.csv","r").read()
dataArray = pullData.split('\n')
depthArrayY = []
speedArrayX = []
depthArrayLength = len(depthArrayY)

for eachLine in dataArray:
    if len(eachLine)>1:
        x,y = eachLine.split(',')
        speedArrayX.append(round(float(x), 2))
        depthArrayY.append(round(float(y), 2))
巴莱托

我建议使用Pandas,我认为当你需要处理导入的数据时,它会让你做更多的事情。

import pandas as pd

df = pd.read_csv('svp3.csv')

tmp = df[df.depth <= df.depth.shift(-1)].values
depth_increase = tmp[:,0]
speed_while_depth_increase = tmp[:,1]

tmp = df[df.depth > df.depth.shift(-1)].values
depth_decrease = tmp[:,0]
speed_while_depth_decrease = tmp[:,1]

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章