gpt4 book ai didi

python - 根据python中的条件选择数据

转载 作者:太空宇宙 更新时间:2023-11-04 05:20:06 24 4
gpt4 key购买 nike

到目前为止,我已经能够通过查看旧线程来解决大多数问题,但这次我找不到任何与我当前问题相关的内容,所以我将尝试提出我自己的问题。

我是 Python 的新手,正在尝试根据数据中的条件加载一些数据。我的脚本如下所示:

infoPRD = []
with open('SpectraPRDinfo.txt') as inputfile:
for line in inputfile:
infoPRD.append(line.strip().split(' '))

datesPRD = []

for j in range(2,len(infoPRD),2):
datesPRD.append(float(infoPRD[j][3]))

因此,我通过这个检索了我的文本文件中的信息,并在其中一列中写入了值列表。结果是

[['fitsName', 'OBJECT', 'DATE-OBS', 'MJD-OBS', 'SNR'], [''],

['ADP.2016-03-18T01_03_02.067.fits', 'Proxima-Centauri', '2016-03-17T09:05:48.326', '57464.37903156', '3.9'], [''],

['ADP.2016-09-09T09_40_26.314.fits', 'Proxima-Centauri', '2016-02-15T09:13:39.222', '57433.38448174', '26.2'], [''],

等并将所有日期(MJD-OBS)加载到名为 datesPRD 的列表中。

所以我需要做的是只考虑最后一个值('SNR')高于给定值(例如 10)的数据。因此,如果 SNR 值太低,我应该在加载文件时跳过这些行,或者我可以在之后删除数据。我想第一个选项会更可取,但我们将不胜感激。

最佳答案

如果您的数据排列成由字符分隔的行和列,您应该使用 csv 模块来处理它。

import csv
with open(filename, newline='') as f:
r = csv.DictReader(f, delimiter=' ')
datesPRD = [float(row['SNR']) for row in r if float(row['SRD']) > 10]

关于python - 根据python中的条件选择数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40615067/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com