具有特定列名称的数据框不能为具有系列/数据框的产品加点

时间:2019-11-05 14:33:31

标签: python dataframe dot-product

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

1 个答案:

答案 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]])