簡體   English   中英

用相似的列乘以兩個熊貓數據框

[英]Multiply two pandas dataframe with similar columns

我的df1形狀為(5050, 63) video_id (5050, 63) ,其中每一列都包含video_id而row表示布爾值,無論用戶是否觀看它。 我的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行未排序。 我應該如何正確進行乘法運算?

您似乎想對這些值執行點積運算。 這應該很快-

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM