当我尝试使用3 * 5数据框x like this点积和5 * 1系列like this时,出现错误“矩阵未对齐”。在进行点积运算时,尺寸在这里应该不是问题(3 * 5点5 * 1应该为我生成3 * 1系列),并且我已经检查了点积的源代码。似乎Python尝试将数据框的列名see here与系列索引结合起来,在我的情况下,很显然它们无法对齐,因此尺寸将不匹配。我必须将这些列重命名为类似索引的特征0,1,2 ...,以便它们可以与该系列的索引对齐。但是我想知道是否有更好的方法可以做到这一点?如果我在数据框中有1000个带有预设名称的列,该怎么办,我还是应该尝试先将这些名称转换为整数吗?为什么Python用这种方式处理点积?
答案 0 :(得分:0)
import pandas as pd
df1 = pd.read_clipboard(sep=',',header=None)
df1
0 1 2 3 4
0 12 0 0 0 0
1 12 0 0 0 0
2 12 0 0 0 0
df2 = pd.read_clipboard(sep=',',header=None)
df2
0
0 1
1 1
2 2
3 1
4 5
import numpy as np
np.dot(df1.values,df2.values)
array([[12],
[12],
[12]])