这是什么 'nan' 以及如何摆脱它?
What is this 'nan' and how to get rid of it?
我有两个具有多个索引的 DataFrame,其中一些是两个数据框共有的。我一直在尝试根据该值的索引是否存在于第二个数据帧中,从一个数据帧的一列中提取数值。到目前为止,这一直是我的一大痛处......所以这就是我现在所处的位置:
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-test也出来了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))
...没有任何效果:( ...它告诉我nan
和 np.NaN
都不在 a
或 b
中,所以我不知道如何摆脱它。
我不需要从 DataFrame 本身中删除 NaN 因为这也会删除行而且我需要该数据,我只需要能够使用其中一列中的值进行 t 检验和 .dropna()
不适用于列表。
使用pandasisnull
来处理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)
我有两个具有多个索引的 DataFrame,其中一些是两个数据框共有的。我一直在尝试根据该值的索引是否存在于第二个数据帧中,从一个数据帧的一列中提取数值。到目前为止,这一直是我的一大痛处......所以这就是我现在所处的位置:
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-test也出来了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))
...没有任何效果:( ...它告诉我nan
和 np.NaN
都不在 a
或 b
中,所以我不知道如何摆脱它。
我不需要从 DataFrame 本身中删除 NaN 因为这也会删除行而且我需要该数据,我只需要能够使用其中一列中的值进行 t 检验和 .dropna()
不适用于列表。
使用pandasisnull
来处理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)