我以前在python中使用pyodbc,但现在我已经在一台新机器上安装了它(win 8 64位、python 2.7 64位、PythonXY和Spyder)。
columns = [column[0] for column in cursor.description]
temp = cursor.fetchall()
data = pandas.DataFrame(temp,columns=columns)
我不知道为什么行为会改变。也许是我的Pandas版本,或者是pyodbc,但是更新是有问题的。我试图更新一些模块,但它搞砸了一切,我使用的任何方法(二进制文件--用于正确的机器/安装--PIP安装、easy-install,任何东西!等等。这确实非常令人沮丧。从现在开始,对于Python我可能会避免Win 8 64位)。
真实的例子:
sql = 'Select * form TABLE'
cursor.execute(sql)
columns = [column[0] for column in cursor.description]
data = cursor.fetchall()
con.close()
results = DataFrame(data, columns=columns)
返回:*ValueError:传递值的形状为(1,1540),索引表示(51,1540)
ipdb> type(data)
<type 'list'>
ipdb> np.shape(data)
(1540, 51)
ipdb> type(data[0])
<type 'pyodbc.Row'>
ipdb> DataFrame([1,2,3],columns=['a','b','c'])
*valueError:传递值的形状为(1,3),索引表示(3,3)
如果我们这样做:
ipdb> DataFrame([[1,2,3]],columns=['a','b','c'])
a b c 0 1 2 3
ipdb> DataFrame([data[0]], columns=columns)
*** ValueError: Shape of passed values is (1, 1), indices imply (51, 1)
ipdb> DataFrame(data[0], columns=columns)
*** PandasError: DataFrame constructor not properly called!
对于熊猫0.12(我相信)你可以做到:
import pandas
import pyodbc
sql = 'select * from table'
cnn = pyodbc.connect(...)
data = pandas.read_sql(sql, cnn)
在0.12之前,您可以执行以下操作:
import pandas
from pandas.io.sql import read_frame
import pyodbc
sql = 'select * from table'
cnn = pyodbc.connect(...)
data = read_frame(sql, cnn)
concat线给出 raise VALUERROR(f“传递值的形状为{传递},索引暗示{隐含}”)VALUERROR:传递值的形状为(18585,6),索引暗示(12390,6) 我不明白为什么上面写着18585。还有其他连接方法吗?请帮忙。 编辑:我想我找到了问题所在。 打印结果给了我以下信息 印刷原理图 结果Df最初是通过附加两个Df获得的 行号不是从0到12390的延续,而是从0到6194
我正在登录各种网络设备,并尝试查看输出。下面是我正在运行的脚本,它工作得非常好。当我试图确定po1、allin1、sta1、saa1、stn1的产量时,我面临着这个问题。我已经给出了下面所有变量的输出。po1将是这里的源,如果任何索引在其他变量中不可用,则需要显示“NAn”。如果你对理解这个问题有异议,请告诉我。 下面是我得到的错误。当我把轴设为1时,我得到了这个错误。 po1的产量: allin
我正在尝试合并一个(熊猫14.1)数据帧和一个系列。序列应该形成一个新列,带有一些NAs(因为序列的索引值是数据帧索引值的子集)。 这适用于玩具示例,但不适用于我的数据(详见下文)。 例子: 数据的情况(见下文)似乎基本相同——将一个系列与一个DatetimeIndex连接起来,该索引的值是数据帧的子集。但是它在标题中给出了ValueError(等等1 = (5, 286)等等2 = (5, 27
我正在尝试用熊猫数据框创建一个3d volatlity曲面,我觉得我已经掌握了所有信息,但我不确定如何从中创建3d图形。我读过的每一本指南似乎都使用了3个独立的数组,但我觉得我拥有的数据应该是可绘制的。 我当前的数据帧如下所示: 我希望我的X值是我的索引,Y值是列名(月份),Z值是框架中包含的实际值(例如,第一行第一列中的第一个值...X=35,Y=9/20/2019,Z=0.0879441) 环
当我试图找到这个答案时,我可能使用了糟糕的搜索词。现在,在索引DataFrame之前,我以这种方式在列中获得一个值列表... …然后我将在列上设置索引。这似乎是浪费的一步。在索引上尝试上述操作时,我得到一个键错误。 如何获取索引中的值(单个和多个)并将其放入列表或元组列表中?
预测类的输出 y_的输出为真 我想得到这个代码的索引,并得到这个值错误。 错误痕迹 请告诉我哪里出了问题。