gpt4 book ai didi

python-3.x - 马尔可夫链蒙特卡洛模拟的修复数据

转载 作者:行者123 更新时间:2023-12-04 03:28:22 26 4
gpt4 key购买 nike

众所周知,所有概率的总和都需要为 1。我确实有一个 Pandas 数据框,其中有时一个事件的概率确实会丢失。
因为我知道一行的所有元素都需要加起来为一个。我想用计算值替换 Nan。我的 Pandas 数据框中的每一行都有类似以下的内容

for item, row in df:
df.replace(Nan,(1-sum of row())

例如,这是我当时用作测试数据的数组:

    matrixsum
e f g
a 0.3 0.2 Nan
b 0.2 0.2 0.6
c 0.7 0.1 Nan

通过使用 df.fillna(0) 我得到了这个:

  matrixsum
e f g
a 0.3 0.2 0.0
b 0.2 0.2 0.6
c 0.7 0.1 0.0

另外一个问题是只有 floatint 格式的行可以求和为 1,但是 nan 具有字符串格式.目前我只使用 df.fillna(0) 但这是一件坏事。

预期输出:

  matrixsum
e f g
a 0.3 0.2 0.5
b 0.2 0.2 0.6
c 0.7 0.1 0.2

最佳答案

如果您确定所有行的 Nan 始终出现在单个列中(比如 g),您可以这样做:

考虑下面的df:

In [21]: df
Out[21]:
e f g
a 0.3 0.2 Nan
b 0.2 0.2 0.6
c 0.7 0.1 Nan

In [22]: df['g'] = 1 - df.sum(1)

In [23]: df
Out[23]:
e f g
a 0.3 0.2 0.5
b 0.2 0.2 0.6
c 0.7 0.1 0.2

关于python-3.x - 马尔可夫链蒙特卡洛模拟的修复数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67267143/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com