Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/330.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 将两个数据帧与相似的列相乘_Python_Pandas_Matrix Multiplication - Fatal编程技术网

Python 将两个数据帧与相似的列相乘

Python 将两个数据帧与相似的列相乘,python,pandas,matrix-multiplication,Python,Pandas,Matrix Multiplication,mydf1的形状为(5050,63),其中每列包含video\u id,每行表示布尔值,无论用户是否观看过。 Mydf2的形状为(63,2),其中第一行包含视频id,第二行包含视频持续时间 我想将两个数据帧相乘,以计算用户观看的视频的总持续时间 因此,我将df2转换为数值 df_video_t = df_video_info.transpose() new_header = df_video_t.iloc[0] df_video_t = df_video_t[1:] df_video_t.col

my
df1
的形状为
(5050,63)
,其中每列包含
video\u id
,每行表示布尔值,无论用户是否观看过。 My
df2
的形状为
(63,2)
,其中第一行包含
视频id
,第二行包含
视频持续时间

我想将两个数据帧相乘,以计算用户观看的视频的总持续时间

因此,我将
df2
转换为数值

df_video_t = df_video_info.transpose()
new_header = df_video_t.iloc[0]
df_video_t = df_video_t[1:]
df_video_t.columns = new_header
df_video_t = df_video_t.convert_objects(convert_numeric=True)
然后,我尝试将
df1
乘以
df2

df_1.mul(df_2_t, axis=0)
但我没有得到乘法的结果,而是在每个细胞中得到NaN

我的
df1
列和
df2
行未排序。
我应该如何正确地进行乘法?

看起来您想要对值执行点积。这应该很快-

r = df_1.values.dot(df_2_t.values.T)

我想你是在找点产品吧
r=df_1.values.dot(df_2_t.t.values)
@COLDSPEED是的,你绝对是对的!谢谢当然,我已经写了答案。请投票表决,并按你的意愿接受。谢谢,没问题,兄弟