以下是将BigQuery结果转换为Pandas数据框的代码。 我正在学习Python和Pandas,并想知道我是否可以获得有关代码任何改进的建议/想法?
#...code to run query, that returns 3 columns: 'date' DATE, 'currency' STRING,'rate' FLOAT...
rows, total_count, token = query.fetch_data()
currency = []
rate = []
dates = []
for row in rows:
dates.append(row[0])
currency.append(row[1])
rate.append(row[2])
dict = {
'currency' : currency,
'date' : dates,
'rate' : rate
}
df2 = pd.DataFrame(dict)
df2['date'] = pd.to_datetime(df2['date'])
df2 = df2.set_index('date')
以上作品。但看起来很矮胖。有没有办法比上面更有效地做同样的事情? 我尝试了诸如sqlalchemy之类的库,但它们不支持BigQuery。通常我的问题是关于上面的代码和语法。
答案 0 :(得分:1)
答案 1 :(得分:0)
针对Python的Google Cloud Client库中的Using BigQuery with Pandas页:
从0.29.0版开始,您可以使用to_dataframe()函数以pandas.DataFrame的形式检索查询结果或表行。
此外:Migrating from pandas-gbq关于google-cloud-bigquery
BQ Python客户端库和pandas-gbq
之间的区别。