まず、私のコードには、私が知っている以上に多くの間違いがあるかもしれません。私は次の画像のように私のテーブルのインデックスを作成しようとしています: 私は漸進的に列を読んでいると一緒に、私は合計15000行ごとに500ファイルを読んでそれらを追加しています。今度は、次の図のようにMultiIndexを使用する必要がありますが、pandas階層インデックスとMultIndexを使用してループ内で行う方法が見つかりませんでした。すべてのデータポイントと数値のループを作成する方法はありますか?Pythonでループを持つ階層型マルチインデックステーブル
all_data = pd.DataFrame()
for f in glob.glob("path_in_dir"):
df = pd.read_table(f, delim_whitespace=True,
names=('A', 'B', 'C', 'D', 'E', 'F', 'G', 'H'),
dtype={'A': np.float32, 'B': np.float32, 'C': np.float32,
'D': np.float32,'E': np.float32, 'F': np.float32,
'G': np.float32,'H': np.float32})
all_data = all_data.append(df,ignore_index=True)
all_data.index.names = ['numbers']
私が追加使用していますが、私は速度を上げるために重要であろうこれもpd.concat
のような効率的ではないというどこかで読んすべてのデータ
print(all_data)
を表示メモリ使用量を削減できます。私はエラーを取得するall_data = pd.concat(df,ignore_index=True)
:私はこの方法でそれをしようとすると
最初の引数は、パンダのオブジェクトの反復可能でなければならない、あなたは私が唯一のD列を取得します現時点ではタイプ「DATAFRAME」
のオブジェクトが渡さ0から行の最後まで数えます。したがって、30000までの2つのファイルに対してです。したがって、各ファイルのデータポイントにカウントを分割するわけではありません。
私はインデックスを拡張: `all_data.index.names = [データポイント、数字] はメッセージとValueErrorを取得する:新しい名前の長さは1でなければならないが、このような何かを試してみてください2
あなたはどのような困難に遭遇していますか?入力ソースとは何ですか?すべてのデータを含む単一のDataFrameを取得できましたか? .set_index(['col1'、 'col2']) 'を実行してみましたか?現時点では、あなたが試したことやあなたがどこにいるのかわからないので、何を助けるべきかを明確にしていません。 –
@JonClementsあなたの助けていただきありがとうございます私の問題についてのより良い考えを得るために私の答えをご覧くださいありがとう – newpyguy
元のデータの例を投稿できますか? –