加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

将sql select打包成大熊猫数据帧

发布时间:2020-12-12 16:47:03 所属栏目:MsSql教程 来源:网络整理
导读:假设我有一个这样的选择: select instrument,price,date from my_prices; 如何将每个工具的系列产品的价格退回到单个数据框中,并按日期进行索引? 要清楚:我在寻找: class 'pandas.core.frame.DataFrame'DatetimeIndex: ...Data columns (total 2 columns)
假设我有一个这样的选择:
select instrument,price,date from my_prices;

如何将每个工具的系列产品的价格退回到单个数据框中,并按日期进行索引?

要清楚:我在寻找:

<class 'pandas.core.frame.DataFrame'>
DatetimeIndex: ...
Data columns (total 2 columns):
inst_1    ...
inst_2    ...
dtypes: float64(1),object(1)

我不是在寻找:

<class 'pandas.core.frame.DataFrame'>
DatetimeIndex: ...
Data columns (total 2 columns):
instrument    ...
price         ...
dtypes: float64(1),object(1)

这很容易;-)

解决方法

更新:最近的熊猫具有以下功能:read_sql_table和read_sql_query.

首先创建一个db引擎(一个连接也可以在这里工作):

from sqlalchemy import create_engine
# see sqlalchemy docs for how to write this url for your database type:
engine = create_engine('mysql://scott:tiger@localhost/foo')

见sqlalchemy database urls.

pandas_read_sql_table

table_name = 'my_prices'
df = pd.read_sql_table(table_name,engine)

pandas_read_sql_query

df = pd.read_sql_query("SELECT instrument,date FROM my_prices;",engine)

旧的答案引用了已被弃用的read_frame(请参阅该问题的version history).

首先阅读通常是有意义的,然后根据您的要求进行转换(因为这些通常在熊猫中是高效和可读的).在你的例子中,你可以pivot的结果:

df.reset_index().pivot('date','instrument','price')

注意:您可能会错过reset_index,您不会在read_frame中指定index_col.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读