我的df1
形状(5050, 63)
,其中每列保留video_id
,行代表布尔值,用户是否观看过它。
我的df2
形状为(63,2)
,第一行包含video_id
,第二行包含video_duration
我想将两个数据帧相乘,以计算用户观看过的视频的整体持续时间。
出于这个原因,我调换了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
行未排序。
我该如何正确地进行乘法?
答案 0 :(得分:1)
看起来您想要对值执行点积。这应该很快 -
r = df_1.values.dot(df_2_t.values.T)