私の問題:私はのファイルに90〜3メートルの深さのデータがあり、そのデータは前後に行き来します。私は最新のPythonを使用しています。csvファイルの範囲をソートするにはどうすればよいですか?
ex。 (深さ)88,77,50,20,5,90,76,54,34,15,8,4,81,74,62,51,49,30,22,10,8 ...など。それは90から3へと戻り、再び戻ります。
私がしたいことは、90と3の間でデータを区切ることです。分離されたら、そのリストの最後と最初の値を取りたいと思います。 ように ex。 90,76,54,34,15,8,4(ここでは分離しています)81,74,62,51,49,30,22,10,8ここでは、 )... 等々。それは90から3へと戻り、再び戻ります。
これを行うにはどうすればよいですか?または、それらをリストに分けてそれぞれのデータを使用するにはどうすればよいですか?
import csv, numpy
from collections import defaultdict
columns = defaultdict(list) # each value in each column is appended to a list
with open('C:\\Users\\AdamStoer\\Documents\\practicedata.csv') as f:
reader = csv.DictReader(f,delimiter=',') # read rows into a dictionary format
for row in reader:
r = float(row['roll'])
p = float(row['pitch'])
if 0.21 <= p <= 0.31:
if -0.06 <= r <= 0.06:
columns['pitch'].append(row['pitch'])
columns['roll'].append(row['roll'])
columns['i_depth'].append(row['i_depth'])
columns['irrad2'].append(row['sci_ocr504i_irrad2'])
print ('Pitch:')
print (columns['pitch'])
print ('Roll:')
print (columns['roll'])
print ('Depth')
print (columns['i_depth'])
print ("Irrandiance(2):")
print (columns['irrad2'])
irradlst = columns['irrad2']
irradfirst = irradlst[0]
irradlast = irradlst[-1]
depthlst = columns['i_depth']
depthfirst = depthlst[0]
depthlast = depthlst[-1]
print ("\nDepth 1 is " + depthfirst + " and " + "Depth 2 is " + depthlast)
print ("\nIrradiance 1 is " + irradfirst + " and " + "Irradiance 2 is " + irradlast)
#Find the Volume Attenuation Coefficient
#irranddiv = deepest/shallowest
irraddiv = float(irradfirst)/float(irradlast)
#depthdif = deepest-shallowest
depthdif = float(depthfirst) - float(depthlast)
#Find Log of irraddiv
irradlog = numpy.log(irraddiv)
#Find K
K = irradlog/(-depthdif)
print("\nAttenuation Coefficient")
print (K)
あなたの答えをありがとう! – Adam
あなたのコードを少し説明できるかどうか疑問に思っていましたか? – Adam
@Adam私はいくつかのコードの説明を追加しました – ali