数据帧和序列之间的元素相乘返回NaN

2024-09-28 03:18:35 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个time系列和一个flag数据帧:

time
          0
action  -1.0
activ    1.0
actual   1.0

time.index
Index(['action', 'activ', 'actual'], dtype='object')

flag
        2000-05-10  2006-06-29
Entry                         
action    1.386294    1.386294
activ     0.000000    1.000000
actual    0.000000    0.000000

flag.index
Index(['action', 'activ', 'actual'], dtype='object', name='Entry')

我想在两者之间做分段乘法:

flag.mul(time, axis=1)

        2000-05-10 00:00:00  2006-06-29 00:00:00   0
Entry                                               
action                  NaN                  NaN NaN
activ                   NaN                  NaN NaN
actual                  NaN                  NaN NaN

然而,我期待这个结果:

        2000-05-10  2006-06-29
Entry                         
action   -1.386294   -1.386294
activ     0.000000    1.000000
actual    0.000000    0.000000

怎么了?你知道吗


Tags: 数据nameindexobjecttimeactionnanflag
1条回答
网友
1楼 · 发布于 2024-09-28 03:18:35

尝试将代码更改为

flag.mul(time['0'], axis=0)
Out[286]: 
        2000-05-10  2006-06-29
Entry                         
action   -1.386294   -1.386294
activ     0.000000    1.000000
actual    0.000000    0.000000

问题在您的代码中,dataframe mul对于dataframe,它们都应该有相同的indexcolumns,在您的情况下,您应该使用pd.Series,我们也应该选择axis=0

相关问题 更多 >

    热门问题