Python Pandas交叉表:传递值的形状为(1,3),索引表示其他

Python Pandas交叉表:传递值的形状为(1,3),索引表示其他,python,pandas,dataframe,crosstab,Python,Pandas,Dataframe,Crosstab,我试图创建从SQL server提取的数据的交叉表。关于其他解决方案,我看到人们提供了如下解决方案: df = pd.DataFrame([[1,2,3,4]], columns=['a', 'b', 'v', 'w']) 然而,我已经有了一个数据框架,它是通过从SQL server中提取数据、循环并将每个项附加到列表中,然后从列表中创建一个数据框架而构建的 Res = c.execute(cmd) rows=[] [rows.append(list(row)) for row in Res]

我试图创建从SQL server提取的数据的交叉表。关于其他解决方案,我看到人们提供了如下解决方案:

df = pd.DataFrame([[1,2,3,4]], columns=['a', 'b', 'v', 'w'])
然而,我已经有了一个数据框架,它是通过从SQL server中提取数据、循环并将每个项附加到列表中,然后从列表中创建一个数据框架而构建的

Res = c.execute(cmd)
rows=[]
[rows.append(list(row)) for row in Res]
df= pd.DataFrame.from_records(rows)

df.info()
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 124 entries, 0 to 123
Data columns (total 14 columns):

任何帮助都将不胜感激。谢谢。

您尝试运行什么?其他解决方案显示简化数据(如您发布的示例)的原因是,为了帮助我们,我们需要一个包含部分或示例输入和首选输出的解决方案。请参阅@QuangHoang我试图运行pd.crosstab([df['Term'],df['ID'],df['Class'],margins=True)]来生成交叉表。您可以执行
df.pivot_表(index=['Term','ID'],columns='Class'],agg_func='count')
df.groupby(['Term','ID'])['Class'])。value_counts()
@G.Anderson我通过Python执行SQL命令,更新了如何生成初始数据帧。
pd.crosstab([df['Term'], df['ID']], df['Class'], margins = True)]

ValueError: Shape of passed values is (1, 3), indices imply (124, 3).