首页 > 解决方案 > Pandas .dot 返回所有 NaN

问题描述

我在两个数据帧上执行来自 pandas 包的点积,一个是形状(462,36),另一个是(36,34)。该操作返回所有正确的标头,并且返回的数据帧大小正确,但所有值都有 NaN。每个值都是原始数据帧中的整数,我不确定为什么会发生此错误。

例如,我正在运行的代码是:

 df_technique = pd.DataFrame(df_binary.dot(df_pim.values), columns=df_pim.columns, index=df_binary.index)

其中 df_technique 是所需的数据帧,df_binary 是较大的数据帧,而 df_pim 是较小的数据帧。

例如,df_binary 看起来像:

 Customer ID      Email      Bait #1      Bait #2      Bait #3    ...
 12345            i@me.com   1            0            1          
 ...

df_pim 看起来像:

 Bait Number      Technique #1       Technique #2        Technique #3      ...
 Bait #1          1                  0                   0
 ...

预期的输出是:

 Customer ID      Email      Technique #1      Technique #2       Technique #3      ...
 12345            i@me.com   1                 3                  4
 ... 

生成的数据框的形状应为 (462,34)。

编辑:感谢@Wen,解决方案是:

 df_technique = pd.DataFrame(df_binary.values.dot(df_pim.values), columns=df_pim.columns, index=df_binary.index)

标签: pythonpandasdataframenan

解决方案


推荐阅读