草庐IT

python - 在 pandas 数据框中显示具有一个或多个 NaN 值的行

我有一个数据框,其中一些行包含缺失值。In[31]:df.head()Out[31]:alpha1alpha2gamma1gamma2chi2minfilenameM66_MI_NSRh35d32kpoints.dat0.80160.92831.0000000.0748043.985599e+01F71_sMI_DMRI51d.dat0.00000.0000NaN0.0000001.000000e+25F62_sMI_St22d7.dat1.72103.83300.2374800.1500001.091832e+01F41_Car_HOC498d.dat1.16702.80900.36

python - 什么是inf和nan?

只是一个我有点困惑的问题所以我在搞乱float('inf')并且有点想知道它的用途。我还注意到,如果我添加-inf+inf我得到nan是否与零相同。我对这两个值的用途感到困惑。另外,当我执行nan-inf我没有得到-inf我得到nan我确信这一切都很简单,但是我偶然发现了他们,但不知道他们在做什么。 最佳答案 inf是无穷大-一个大于任何其他值的值。-inf因此小于任何其他值。nan代表NotANumber,它不等于0。虽然可以说正无穷和负无穷关于0是对称的,但是对于任何值n都可以这样说,也就是说两者相加的结果是南。这个想法在thi

python - 防止 pandas 将字符串中的 'NA' 解释为 NaN

Pandasread_csv()方法将'NA'解释为nan(不是数字)而不是有效字符串。在下面的简单情况下,请注意第1行第2列(从零开始的计数)中的输出是“nan”而不是“NA”。sample.tsv(制表符分隔)PDBCHAINSP_PRIMARYRES_BEGRES_ENDPDB_BEGPDB_ENDSP_BEGSP_END5d8bNP604901146114611465d8bNAP803771126112611265d8bOP60491111811181118read_sample.pyimportpandasaspddf=pd.read_csv('sample.tsv',sep

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.