私は一般的にコーディングするのが初めてで、データの一部を切り抜くのに問題があります。これは単純なテキストファイルであり、これまでファイルの大きな文字列を1つのリストにまとめてリスト内の個々の値に分割していました(index [0] = -78.5など)。前記リストの最初の2つのインデックスはそれぞれ緯度と経度であり、次の240は値(分析したいデータ)である。そこから、次の2つの値は再び緯度と経度です。つまり、インデックス[242]と[243]はそれぞれ緯度と経度です。Python - スライスからリスト内に複数のリストを作成する
私がしたいことは、最初の242インデックス(lat、lon、240個の個別値)を取り出し、それらをリストに入れて「マスター」に入れることです。ネストされたリストを作成します。私はリストの終わりに達するまでこれをしたい、つまり私は242のステップを持っていたいと思っている(私は思う?)。最終結果は、次のようなものになります。
master_list = [] ... [緯度、経度、240個の値...]、[緯度、経度、240個の値を、...]
私が必要これは私が座標に基づいてこのデータを切り取るので、私は個々の緯度と経度に個別にアクセスしながら、それらの値をそのリストに関連付けたままにします。
f = open('file.txt', 'r')
file_contents = f.read()
f.close()
single_obs = file_contents.split(" ")
new_list = []
blank_value = single_obs[0]
def remove_blankspace(my_list):
for i in my_list:
if i != blank_value:
new_list.append(i)
return new_list
remove_blankspace(single_obs)
print new_list[0]
これは基本的にはちょうど私は、ファイルから空白を削除し、リスト内の個々の要素に文字列を作っている:
はこれまでのところ、私はこれ持っています。 'new_list'にはたくさんの要素があります!
私はテストとしてこれを試してみましたが、私は遠く離れていた、と私は自分のコンピュータを再起動する必要がありましたので、私は無限ループを作成したと思う:
indiv_values = []
for value in new_list:
line = new_list[::239]
indiv_values.append(line)
print indiv_values[0]
各以来、私は以前、行ごとにそれを分割しようとしましたlineにはlat、lon、および240の値が含まれています。私は各行を含むリストを作成することができましたが、各行のすべての値を個々の要素に分けることはできません。
申し訳ありません申し訳ありませんが、これはひどい説明か、私が達成しようとしていることがわかりません(コーディングに新しい!)が、不明な点があれば尋ねてください!
lat1, lon1, values...
lat2, lon2, values...
...
そして、あなたはあなたが行うことができるはず記述したものから:
私はこれを示唆していることは誇りに思っていますが、あなたのデータはサードパーティのnumpyライブラリy。ちなみに、2次元配列へのスライスは完全に自然で効率的です。あなたはnumpy配列を見てみることを考慮する必要があります。データ型のものには非常に適しています(長方形のネストされたリストを持つ限り)。 –
@AndrasDeak:サイト外の参考資料を求める*ポスターを探すのはすごいですが、それを解決策として提供するのは間違いありません。私は投票した。 – Prune
@Pruneありがとう:)正当な理由があまりにも頻繁に提案されているので、それはほとんど嫌になっています。また、適切な組み込みツールがある場合には、高価なサードパーティのライブラリです。他の人が書いているように、「numpyはpythonの[jquery](http://meta.stackexchange.com/a/19492/313143)です。 –