草庐IT

python - 在 pandas 中删除 nan 行的更好方法

我自己找到了一种从pandas数据框中删除nan行的方法。给定一个数据框dat列x包含nan值,是否有更优雅的方法来删除具有nan的dat的每一行x列中的值?dat=dat[np.logical_not(np.isnan(dat.x))]dat=dat.reset_index(drop=True) 最佳答案 使用dropna:dat.dropna()如果所有标签都是nan或任何标签都是nan,您可以传递参数how来删除dat.dropna(how='any')#todropifanyvalueintherowhasanandat.d

python - NumPy:用 NaN remove 计算平均值

如何沿矩阵计算矩阵平均值,但要从计算中删除nan值?(对于R人,请考虑na.rm=TRUE)。这是我的[非]工作示例:importnumpyasnpdat=np.array([[1,2,3],[4,5,np.nan],[np.nan,6,np.nan],[np.nan,np.nan,np.nan]])print(dat)print(dat.mean(1))#[2.nannannan]删除NaN后,我的预期输出将是:array([2.,4.5,6.,nan]) 最佳答案 我认为你想要的是一个掩码数组:dat=np.array([[1,

python - Pandas:转换为数字,必要时创建 NaN

假设我在数据框中有一列包含一些数字和一些非数字>>df['foo']00.01103.82751.130.040.05-6-70.08-90.0Name:foo,Length:9,dtype:object如何将此列转换为np.float,并让其他所有非float转换为NaN?当我尝试时:>>df['foo'].astype(np.float)或>>df['foo'].apply(np.float)我得到ValueError:couldnotconvertstringtofloat:- 最佳答案 在Pandas中0.17.0conve

python - Numpy 整数 nan

这个问题在这里已经有了答案:NumPyorPandas:KeepingarraytypeasintegerwhilehavingaNaNvalue(10个回答)关闭8年前。有没有办法将NaN存储在Numpy整数数组中?我明白了:a=np.array([1],dtype=long)a[0]=np.nanTraceback(mostrecentcalllast):File"",line1,inValueError:cannotconvertfloatNaNtointeger 最佳答案 不,你不能,至少对于当前版本的NumPy。nan是f

python - 如何过滤 NaN( Pandas )?

我有一个pandas数据框(df),我想做类似的事情:newdf=df[(df.var1=='a')&(df.var2==NaN)]我尝试将NaN替换为np.NaN、'NaN'或'nan'等,但没有任何结果为True.没有pd.NaN。我可以在评估上面的表达式之前使用df.fillna(np.nan)但这感觉很hackish,我想知道它是否会干扰依赖于能够识别pandas的其他pandas操作-稍后格式化NaN。我觉得这个问题应该有一个简单的答案,但不知何故它让我无法理解。任何建议表示赞赏。谢谢。 最佳答案 最简单的解决方案:fil

python - 训练回归网络时的 NaN 损失

我有一个具有260,000行和35列的“单热编码”(全一和零)数据矩阵。我正在使用Keras训练一个简单的神经网络来预测一个连续变量。制作网络的代码如下:model=Sequential()model.add(Dense(1024,input_shape=(n_train,)))model.add(Activation('relu'))model.add(Dropout(0.1))model.add(Dense(512))model.add(Activation('relu'))model.add(Dropout(0.1))model.add(Dense(256))model.add(

python - 当我除以零时如何得到 NaN

当我在Python中进行浮点除法时,如果我除以零,我会得到一个异常:>>>1.0/0.0Traceback(mostrecentcalllast):File"",line1,inZeroDivisionError:floatdivision我真的很想得到NaN或Inf代替(因为NaN或Inf会传播通过我的其余计算正确,而不是杀死我的程序)。我该怎么做? 最佳答案 获得这种行为的最简单方法是使用numpy.float64而不是Python默认的float类型:>>>importnumpy>>>numpy.float64(1.0)/0.

python - 删除 Pandas 数据框中的 NaN/NULL 列?

我在pandas中有一个dataFrame,其中几列都有空值。是否有内置函数可以让我删除这些列? 最佳答案 是的,dropna。见http://pandas.pydata.org/pandas-docs/stable/missing_data.html和DataFrame.dropna文档字符串:Definition:DataFrame.dropna(self,axis=0,how='any',thresh=None,subset=None)Docstring:Returnobjectwithlabelsongivenaxisomi

python - 计算数据框每一列中的非nan条目的数量

我有一个大量的数据框架,我想知道是否有短暂的(一两个衬里)在数据框架中获取非nan条目的方法。我不想一次执行此列,因为我接近1000列。df1=pd.DataFrame([(1,2,None),(None,4,None),(5,None,7),(5,None,None)],columns=['a','b','d'],index=['A','B','C','D'])abdA12NaNBNaN4NaNC5NaN7D5NaNNaN输出:a:3b:2d:1 最佳答案 count()方法返回每列中的非nan值的数量:>>>df1.count(

python - numpy 或 scipy 有哪些可能的计算可以返回 NaN?

关闭。这个问题需要更多focused.它目前不接受答案。想要改进这个问题吗?更新问题,使其只关注一个问题editingthispost.关闭8年前。Improvethisquestion在Python中,哪些最常见的操作会导致使用NumPy或SciPy时产生的NaN?例如:1e500-1e500>>>nan这种行为的原因是什么,为什么它不返回0? 最佳答案 如果您在不使用浮点环境的情况下执行以下任何操作,您应该得到一个以前没有的NaN:0/0(顶部和底部的任一标志)inf/inf(顶部和底部的任一标志)inf-inf或(-inf)+