2017-08-14 3 views
2

私は辞書を持っています。各キーは3行のデータフレーム(同じ種類)に対応していますが、このデータをMySQLに保存するにはどうすればよいでしょうか?MySQLにデータフレームの辞書を格納するための良いアプローチは何でしょうか?

私はpython、pandasを使用しています。

ありがとうございました!

編集:ここでは は、各データフレームのフォーマットは、データの目的は、検索のためにある

Col1 Col2 
1 A 0.2 
2 B 0.3 
3 C 0.25 

です。私たちがキーでリクエストすると、関連するデータフレームに格納されているすべての情報を取得したいと思います。 1つのテーブルにそれを格納することは、将来の使用のために十分である。

+0

あなたはあなたのデータを提供できますか?どのように見える – ammy

+0

@ammyこんにちは、私は各データフレームの形式を追加しました。辞書のキーは単なる文字列であり、そのようなdfに関連付けられています。 – jack

+0

これは、データの内容に依存します。すべてのデータを1つのテーブルなどにダンプしますか?詳細を追加します。 –

答えて

1

次のアプローチを検討:私たちは1 DFに当社のDFのすべてをマージし、キーを含む追加の列を追加することができます

In [10]: df1 
Out[10]: 
    Col1 Col2 
1 A 0.20 
2 B 0.30 
3 C 0.25 

In [11]: df2 
Out[11]: 
    Col1 Col2 
1 A 10.20 
2 B 10.30 
3 C 10.25 

In [12]: df3 
Out[12]: 
    Col1 Col2 
1 A 20.20 
2 B 20.30 
3 C 20.25 

In [13]: dfs = {'df1':df1, 'df2':df2, 'df3':df3} 

In [15]: df = pd.concat([df.assign(idx=key) for key, df in dfs.items()], ignore_index=True) 

In [16]: df 
Out[16]: 
    Col1 Col2 idx 
0 A 0.20 df1 
1 B 0.30 df1 
2 C 0.25 df1 
3 A 10.20 df2 
4 B 10.30 df2 
5 C 10.25 df2 
6 A 20.20 df3 
7 B 20.30 df3 
8 C 20.25 df3 

し、それを保存

セットアップをMySQLへ:

df.to_sql('table_name', engine, if_exists='...') 

PS 'idx'カラムに基づくインデックスを追加して、MySQLでのアクセス/検索を高速化することも検討します。

関連する問題