假设我有一个大致像这样的选择:
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)
...这很容易;-)
最佳答案
您可以将光标对象传递给 DataFrame 构造函数。对于 postgres:
import psycopg2
conn = psycopg2.connect("dbname='db' user='user' host='host' password='pass'")
cur = conn.cursor()
cur.execute("select instrument, price, date from my_prices")
df = DataFrame(cur.fetchall(), columns=['instrument', 'price', 'date'])
然后设置索引像
df.set_index('date', drop=False)
或直接:
df.index = df['date']
关于python - 将 sql 选择解压缩到 pandas 数据框中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17156084/