【发布时间】:2017-02-27 05:24:36
【问题描述】:
我有两个具有多个索引的 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,因为这也会删除行并且我需要该数据,我只需要能够使用其中一列中的值和 .dropna() 进行 t 检验不适用于列表。
【问题讨论】:
标签: python pandas dataframe nan