2017-08-14 80 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中的访问/搜索...

相关问题