Python将SQL数据分组

Python将SQL数据分组,python,pandas,Python,Pandas,我过去常常从CSV文件中读取数据,而我只是将所有CSV数据导入SQL数据库,但我很难使用Python从SQL中提取数据 我的read CSV原始代码如下: import pandas as pd stock_data = pd.read_csv(filepath_or_buffer='stock_data_w.csv', parse_dates=[u'date'], encoding='gbk') stock_data[u'change_weekly'] = stock_data.groupby

我过去常常从CSV文件中读取数据,而我只是将所有CSV数据导入SQL数据库,但我很难使用Python从SQL中提取数据

我的read CSV原始代码如下:

import pandas as pd
stock_data = pd.read_csv(filepath_or_buffer='stock_data_w.csv', parse_dates=[u'date'], encoding='gbk')
stock_data[u'change_weekly'] = stock_data.groupby(u'code')[u'change'].shift(-1)
现在我想从SQL中读取数据,这是我的代码,但它不起作用,我不确定如何对其进行排序:

import pandas as pd
import MySQLdb

db = MySQLdb.connect(host='localhost', user='root', passwd='232323', db='test', port=3306)
cur = db.cursor()
cur.execute("SELECT * FROM stock_data_w")

stock_data = pd.DataFrame(data=cur.fetchall(),  columns=[i[0] for i in cur.description])
stock_data[u'change_weekly'] = stock_data.groupby(u'code')[u'change'].shift(-1)
错误是:“raise PandasError('DataFrame构造函数未正确调用!')pandas.core.common.PandasError:DataFrame构造函数未正确调用!”


使用下面的方法将光标对象转换为板条箱数据框

stock_data = pd.DataFrame(data=cursor.fetchall(), index=None,
                         columns=cursor.keys())
print stock_data
在mysqldb中,
columns=[i[0]表示游标中的i.description]

与炼金术建立联系并使用

stock_data = pd.read_sql("SELECT * from stock_data_w",
                                      con= cnx,parse_dates=['date'])

我不确定pandas
read\u sql()
中是否支持
mysql.connector
。您可以试一试,让我们知道:)

嗨,樵夫,非常感谢您的回复!我尝试了两种方法,第一种方法回答了AttributeError:“MySQLCursor”对象没有属性“keys”。第二个也不起作用。我还安装了MySQLdb,请问如何在MySQLdb下分组数据?谢谢我确信mysqldb游标将有键。您好,在mysqldb中使用
columns=[i[0]表示游标中的i。说明]
谢谢,谢谢,我通过导入mysqldb更改了代码。Columns现在可以了,但是parse_dates有一个问题:(…我已经更新了帖子,你可以在上面看到我的代码和错误。请删除
parse_dates=['date']
它将推断为date columnDataFrame现在可用。转到IDE并使用
print stock_data.head()
查看数据和
股票数据。列
了解您的数据非常感谢!最后,我在您的帮助下进行了整理。