草庐IT

python - Pandas :取任何不是 NaN 的列

我正在处理一个相当困惑的数据集,该数据集是名称略有不同的单个csv文件。重命名csv文件中的列太麻烦了,部分原因是我仍在发现所有变化,所以我希望确定给定行中的一组列,哪个字段不是NaN并将其继续到一个新的专栏。有办法吗?举个例子。假设我有一个如下所示的数据框:IndexAB115NaN2NaN113NaN994NaNNaN51214假设我想要的输出是创建一个新的C列,这样我的数据框将如下所示:IndexABC115NaN152NaN11113NaN99994NaNNaNNaN5121412(sogivingprioritytoAoverB)我怎样才能做到这一点?

python - 如何*不*在 ipython 笔记本(pandas 数据帧的 html 表)中显示 'NaN'?

我有一个小的CSV文件,其中包含来自不同日期等情况下执行的测试的真实世界数据。并非所有相同的参数在每个session中都经过测试,因此原始电子表格周围散布着一堆空白单元格。TunerLocation,200,210,220,230,240,250,260,270,28007/17#1,,,0.319,0.319,0.233,,0.215,,0.335507/21#1,,0.539,0.482,0.034,0.343,0.478,0.285,0.01,0.53807/21#2,,,0.107,0.407,0.559,,0.185,0.439,0.3607/21#3,,,0.127,,,,

python - 在没有循环的情况下将 "nan"添加到 numpy 数组 20 次

这是我的代码:importnumpyasnpn=np.array([1.1,2.3,3.4])forxinrange(20):n=np.append(n,[np.nan])如何只使用numpy的工具,将nan添加到我的numpy数组20次而无需循环?谢谢 最佳答案 n=np.append(n,np.repeat(np.nan,20))[编辑]好的,似乎使用np.repeat比使用np.zeros(20)+np.nan慢,比如MrE’sanswer:In[1]:timeitnp.zeros(10000)+np.nan100000loo

python - Pandas 标准偏差返回 NaN

我在Python2.7中有以下PandasDataframe。代码:importpandasaspdimportnumpyasnpdf=pd.DataFrame(np.random.rand(10,6),columns=list('ABCDEF'))df.insert(0,'Category',['A','C','D','D','B','E','F','F','G','H'])printdf.groupby('Category').std()这是df:CategoryABCDEFA0.5002000.7910390.4980830.3603200.9659920.537068C0.29

python - 使用 NaN 向下舍入 Pandas 数据框列中的值

我有一个包含一列float64值的Pandas数据框:tempDF=pd.DataFrame({'id':[12,12,12,12,45,45,45,51,51,51,51,51,51,76,76,76,91,91,91,91],'measure':[3.2,4.2,6.8,5.6,3.1,4.8,8.8,3.0,1.9,2.1,2.4,3.5,4.2,5.2,4.3,3.6,5.2,7.1,6.5,7.3]})我想创建一个仅包含整数部分的新列。我的第一个想法是使用.astype(int):tempDF['int_measure']=tempDF['measure'].astype(i

python - 来自 Tensorflow 中的 sparse_softmax_cross_entropy_with_logits 的 NaN

当我尝试在tensorflow中使用sparse_softmax_cross_entropy_with_logits损失函数时得到NaN。我有一个简单的网络,例如:layer=tf.nn.relu(tf.matmul(inputs,W1)+b1)layer=tf.nn.relu(tf.matmul(layer,W2)+b2)logits=tf.matmul(inputs,W3)+b3loss=tf.sparse_softmax_cross_entropy_with_logits(logits,labels)我有很多类(~10000),所以我想我得到的是NaN,因为在我的至少一个示例中,

python - Rowwise min() 和 max() 对于具有 NaN 的列失败

我正在尝试获取包含日期的两列的行向最大值(和最小值)fromdatetimeimportdateimportpandasaspdimportnumpyasnpdf=pd.DataFrame({'date_a':[date(2015,1,1),date(2012,6,1),date(2013,1,1),date(2016,6,1)],'date_b':[date(2012,7,1),date(2013,1,1),date(2014,3,1),date(2013,4,1)]})df[['date_a','date_b']].max(axis=1)Out[46]:02015-01-01120

python - Numpy/Pandas 干净的方法来检查特定值是否为 NaN

如何检查给定值是否为NaN?例如if(a==np.NaN)(不起作用)请注意:Numpy的isnan方法会抛出字符串等数据类型的错误Pandas文档仅提供删除包含NaN的行的方法,或检查DataFrame是否/何时包含NaN的方法。我问的是检查特定值是否为NaN。相关的Stackoverflow问题和Google搜索结果似乎是关于检查“是否有任何值是NaN”或“DataFrame中的哪些值”必须有一种干净的方法来检查给定值是否为NaN? 最佳答案 您可以使用NaN的inate属性!=NaN所以a==a将返回False如果a是NaN这

python - 如果单列有 NaN,如果 NaN 存在,如何更改整行

我有一个这样的DataFramegaugesatellite1979-06-2318:00:006.7000002.4843781979-06-2703:00:00NaN8.8914601979-06-2706:00:001.8333334.0534601979-06-2709:00:00NaN2.8766491979-07-3118:00:006.0666671.438324我想获取这样的DataFramegaugesatellite1979-06-2318:00:006.7000002.4843781979-06-2703:00:00NaNNaN1979-06-2706:00:00

python - 具有 NaN 值或掩码的大型数组的双变量结构化插值

我正在尝试定期插入网格windstress使用Scipy的RectBivariateSpline的数据类(class)。在某些网格点,输入数据包含无效数据条目,这些条目被设置为NaN值。首先,我使用了Scott'squestion的解决方案关于二维插值。使用我的数据,插值返回一个仅包含NaN的数组。我还尝试了一种不同的方法,假设我的数据是非结构化的并使用SmoothBivariateSpline类(class)。显然我有太多数据点无法使用非结构化插值,因为数据数组的形状是(719x2880)。为了说明我的问题,我创建了以下脚本:from__future__importdivisioni