私は約100列のデータを含むcsvファイルを持っています。各列は、100日ごとの1日を通して15分ごとに取得された温度値を表します。各列のヘッダーは、その日の日付です。私はこれを2つの列に変換したいと思います。最初のものは日付の時間です(私は何とかこれを作成しなければなりません)。そして、2番目の列は、毎日お互いの上に積み重ねられます。複数の列を2つの列に追加する
私の試み:私の試みで
with open("original_file.csv") as ofile:
stack_vec = []
next(ofile)
for line in ofile:
columns = lineo.split(',') # get all the columns
for i in range (0,len(columns)):
stack_vec.append(columnso[i])
np.savetxt("converted.csv",stack_vec, delimiter=",", fmt='%s')
、私はそれの最後に追加の各列を使用して新しいベクトルを作成しようとしています。しかし、コードは非常に遅く、動作しない可能性があります!このステップを理解したら、各列の日付を取得し、各行の日付時間に15分を追加する必要があります。どんな助けでも大歓迎です。
.csvの場合は、常にnumpy関数 "genfromtext"を使用することをおすすめします。 csvData = genfromtxt( 'original_file.csv'、delimiter = '、') その後、行末文字などのことを心配することなく、他のnumpy配列と同様にcsvDataを操作できます。また、それはかなり速いはずです。 「うまくいかない」とはどういう意味ですか? – offeltoffel
チップをありがとう。おそらく動作していない、私はプログラムが実行されているが完了していないことを意味します。私は約5分後にそれを終了します。 – Sjoseph
を参照してください。私を驚かせることの1つは、100列すべてにわたってループ内にnp.savetxtがあることです。同じファイルが何度も何度も保存されます。とにかく、マーヴィンの答えを考慮する必要があります。彼はgenfromtextも使用して、どのようにあなたの状況でそれを使うのかを詳しく説明します。 – offeltoffel