2017-08-14 66 views
2

現在我有一本字典,其中每個鍵對應一個3行數據框(相同類型),在MySQL中存儲此數據的好方法是什麼?在MySQL中存儲數據框字典的好方法是什麼?

我正在使用python,pandas。

感謝您的幫助!

編輯: 下面是每個數據幀

Col1 Col2 
1 A 0.2 
2 B 0.3 
3 C 0.25 

數據的目的是用於搜索的格式。當我們通過密鑰請求時,我想要獲取存儲在其相關數據幀中的所有信息。將它存儲在一張表中就足以供將來使用。

+0

你能否提供你的數據。它看起來如何 – ammy

+0

@ammy嗨,我已經添加了每個數據幀的格式。字典的關鍵字只是一個字符串,並且與一個這樣的df關聯。 – jack

+0

這取決於數據應該是什麼。你想把所有的數據轉儲到一個表,還是其他的東西?添加詳情。 –

回答

1

考慮以下方法:

設置:

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} 

我們可以將所有的DFS合併成一個DF並添加包含密鑰附加列:

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中的訪問/搜索...

相關問題