小さなサブリストにしようとしている大きなCSVファイルがあります。このコードはなぜ機能しないのですか?私は値を分離する必要がありますか?
唯一の問題は、どうあるべきかをやって...または非常に少なくとも、唯一のいくつかのものが正しくされて
私の問題を分離してデータを適切に分離されていないことです。私は、データを持っているCSVファイルを持っていますそれは90〜3メートルの深さにあり、そのデータはそのように前後に移動します。私は最新のPythonを使用しています。
数値が再び増加するたびに、分けたいと思います。
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の間でデータを分割することです。分割されたら、そのリストの最後と最初の値を取得します。そう前例のように。 90,76,54,34,15,8,4(ここでは分離しています)81,74,62,51,49,30,22,10,8ここでは、 )... 等々。ここ
は私のコードである:ここ
#two sets of data that you test with.
m = ['9.90203', '9.79947', '9.66876', '9.54503', '9.42167', '9.2977', '9.17321', '9.05162', '8.11487', '8.038', '7.96111', '7.85746', '7.72701', '7.59709', '7.46781', '7.34127', '7.21842', '7.09548', '6.96798', '6.57355', '6.444', '6.32245', '6.23818', '6.15369', '6.04973', '4.63443', '4.49823', '4.36232', '4.21442', '4.0642', '26.5645', '26.4945', '26.4232', '26.3592', '26.2948', '23.418', '23.3667', '23.2756', '23.1856', '22.1849', '22.0822', '22.0191', '21.9671', '21.9154', '21.8641', '20.436', '20.3865', '20.3364', '20.2083', '20.0915', '19.9758', '19.8601', '19.7446', '19.6317', '18.1383', '17.9834', '17.8271', '17.7529', '17.6949', '17.6317', '17.5675', '17.4362', '16.581', '16.4745', '16.378', '16.2562', '16.1471', '16.0222', '15.89', '14.9752', '14.8725', '14.7666', '14.6234', '14.469', '14.3148', '13.7696', '13.6465', '13.5363', '13.4712', '13.4069', '13.3421', '13.2732', '13.1375', '13.0014', '12.4809', '12.3585', '12.2339', '12.121', '12.0116', '11.901', '11.7906', '11.6645', '11.5278', '11.3931', '11.2551', '11.1211', '10.993', '10.8501', '10.7205', '10.6026', '10.4992', '10.3952']
l = ['8.18142', '8.11846', '8.05988', '59.4627', '59.3455', '59.2296', '58.4541', '58.3302', '58.2265', '58.1239', '58.0314', '57.9405', '57.8496', '57.7514', '57.6746', '57.6098', '57.5414', '57.4722', '57.3517', '57.2151', '57.0934', '56.9704', '56.8361', '56.6993', '56.564', '56.4287', '56.3106', '56.2', '56.0877', '55.9782', '55.8869', '55.8223', '55.7578', '55.6933', '55.605', '55.4949', '55.3858', '55.2761', '55.1612', '55.0097', '54.8786', '54.7385', '54.6315', '54.5282', '54.4292', '54.327', '54.2217', '54.1127', '54.0037', '53.8938', '53.7695', '53.6271', '53.4857', '53.3437', '53.2254', '53.1712', '53.12', '53.0679', '53.0102', '52.9126', '52.8148', '52.7182', '52.6207', '52.491', '52.3561', '52.2267', '52.0908', '51.9405', '51.7786', '51.6421', '51.5043', '51.4063', '51.3087', '51.2117', '51.1141', '51.0304', '50.9446', '50.8577', '50.7744', '50.6716', '50.5655', '50.4625', '50.3598', '50.2569', '50.153', '50.0494', '49.9461', '49.8308', '49.7058', '49.582', '49.4583', '49.3473', '49.251', '49.1533', '49.0561', '48.953', '48.83', '48.7064', '48.5812', '48.4635', '48.3852', '48.2998', '48.2219', '48.1428', '48.0327', '47.9221', '47.8114', '47.7007', '47.5964', '47.4905', '47.3875', '47.2847', '47.1595', '47.0424', '46.9264']
group =0
temp = []
splited_list = {}
lengh = len(l)
for i in range(lengh):
if not i == lengh-1:
if l[i] > l[i+1]:
temp.append(l[i])
else:
temp.append(l[i])
group +=1
splited_list.update({str(group):temp})
temp = []
else:
if l[i] < l[-2]:
temp.append(l[i])
group +=1
splited_list.update({str(group):temp})
break
else:
group +=1
splited_list.update({str(group):[l[i]]})
break
print (splited_list)
は私の出力である:
{ '1':[ '8.18142'、 '8.11846'、 '8.05988'、'59 0.4627' 、 ' 「59 .4596」、「58 .4541」、「58 .3302」、「58 .2239」、「58 .0314」、「57。9405」、「57 .8496」、「57.7514」、「57.6746」、「57.6098」、「57.55414」、 「56」、「56」、「56」、「56」、「56」、「56」、「56」、「56」、「56」、「56」、「56」、「56 .0877」、「57」、「57」、 「55.788」、「55.0009」、「55.0009」、「55.6059」、「55.9494」、「55.3858」、「55.2761」、「55.1612」、「55.0097」、「54.87」 「53」、「53。7695」、「53 .6271」、「53。4857」、および「54.757」のうちの少なくとも1つを含む、 「52」、「52」、「52」、「52」、「52」、「52,618」、「52,6207」、「52.491」、「52.3561」、 「52.2267」、「52.0908」、「51.9405」、「51.7786」、「51.6421」、「51.4043」、「51.4063」、「51.3087」、「51.2117」、「51.1141」、「51.0304」、「.9446」、「.8577」、 「50 .7744」、「50 .6716」、「50 .5655」、「50 .4625」、「50 .3598」、「50 .2569」、「50 .153」、「50 .0494」、「49.9461」、「49.8308」、「49.7058」、「49 .582」、 49.4583 '、'49 .3473'、'49 .251 '、'49 .1533'、'49 .0561 '、'48 .953'、'48 .83 '、'48 .7064'、'48 .5812 '、'48 .4635'、'48 .3852 '、'48,2998'、'48 .2219 ' 「47 .0327」、「47.9221」、「47。8114」、「47.7007」、「47。5964」、「47。4905」、「47。3875」、「47 .2847」、「47 .1595」、「47 .0424」、「46 .9264」〕}
私の所望の出力:
{ '1':[ '8.18142'、 '8.11846'、 '8.05988']、 '2':['59 0.4627' 、'59 0.3455' 、'59 0.2296' 、'58 0.4541' 、 '58 .3302 '、'58 .2265'、'58 .1239 '、'58 .0314'、'57 .9405 '、'57 .8496'、'57 .6746 '、'57 .6098'、'57 .5414 '、'57 .4722'、'57 .3517 '、'57 .2151 「56 .9704」、「56。9704」、「56 .8361」、「56 .6993」、「56 .564」、「56 .4287」、「56.3106」、「56.2」、「56.0877」、「55.9782」、「55.8869」、「55.823」、 '55 .7578 '、'55 .6933'、'55 .605 '、'55.4949'、'55 .3858 '、'55 .2712'、'55 .0097 '、'54 .8786'、'54 .7385 '、'54 .6315'、'54 .5282 '、'54 .4292 '、'54 .327'、'54 .2217 '、'54 .1127'、'54 .0037 '、'53 .7695'、'53.6271 '、'53 .4857'、'53 .3437 '、'53 .2254'、'53 .1712 '、'53 .12' '53 .0679 '、'53 .0102'、'52 .9126 '、'52,8148'、'52 .7182 '、'52 .6207'、'52 .491 '、'52 .3561'、'52 .2267 '、'52 .0908'、'51.9405 '、'51.77786'、'51.6221 '、'51 .5043'、'51 .4063 '、'51 .3 「50」、「49」、「50。 「49.9461」、「49.9461」、「49.8308」、「49.7058」、「49.558」、「49.4583」、「49.33473」、「49.2525」、「49.1533」、「49.0561」、「48.953」、「48.83」、 「48.7064」、「48 .5812」、「48 .4635」、「48 .3852」、「48.2998」、「48.2219」、「48。1428」、「48」である。0327' 、'47 0.9221' 、'47 0.8114' 、'47 0.7007' 、'47 0.5964' 、'47 0.4905' 、'47 0.3875' 、'47 0.2847' 、'47 0.1595' 、'47 0.0424' 、'46 0.9264' ]}
1.「m」で何かしていますか? 2.文字列を比較しているので、 '' 8.05988 'は ''59 .4627' 'より大きくなります.''5'の後に '' 8 ''が来るためです。 3.各行は別の辞書になっていますか? 4.キーが単純な整数の範囲である場合、辞書を使う理由は何ですか? – TigerhawkT3
1. mは別のテスト値のセットです – Adam
2.浮動小数点を比較する必要がありますか? 3.辞書を作ってから、後で各キーの値からリストを作ります(ここには表示されていません)。 4.私は確信していません...私は新しいコーディングです。 – Adam