gpt4 book ai didi

python - 这个 'nan'是什么以及如何摆脱它?

转载 作者:太空宇宙 更新时间:2023-11-03 15:36:25 24 4
gpt4 key购买 nike

我有两个具有多个索引的数据帧,其中一些索引是两个数据帧所共有的。我一直在尝试根据第二个数据帧中是否存在该值的索引来从一个数据帧的一列中提取数值。到目前为止,这一直是一个很大的痛苦......所以这就是我现在所处的位置:

a = []
b = []
for i in list:
d = data.loc[i[0]].loc[i[1]].values[0]
if i in another_list:
a.append(d)
else:
b.append(d)

需要很长时间,但似乎没问题......但现在我需要对这两个列表进行 t 检验......事实证明,其中一些值为 nan ,这可能就是为什么 t 检验也显示为 nan 。我已经尝试了一切方法来摆脱它们......我尝试输入 if isinstance(d, float)if d != 'nan'if d != np.NaN进入循环,转换 float(data.loc[i[0]].loc[i[1]].values[0]) ,做a = list(map(lambda x: round(float(x),2), a)), b = list(map(lambda x: round(float(x),2), b)) ...没有任何作用:(...它告诉我 nannp.NaN 都不在 ab 中,所以我不知道如何摆脱它。

我不需要从 DataFrame 本身中删除 NaN,因为这也会删除行,而且我需要该数据,我只需要能够使用其列之一和 .dropna() 中的值进行 t 检验。不适用于列表。

最佳答案

使用 pandas isnull 来处理 nan

import pandas as pd

a = []
b = []
for i in list:
d = data.loc[i[0]].loc[i[1]].values[0]
if not pd.isnull(d):
if i in another_list:
a.append(d)
else:
b.append(d)

关于python - 这个 'nan'是什么以及如何摆脱它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42478359/

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