相关疑难解决方法(0)

Pandas错误 - 遇到无效值

我是熊猫的新手.我下载并安装了Anaconda.然后我尝试通过Spyder应用程序运行以下代码:

import pandas as pd
import numpy as np

train = pd.read_csv('/Users/Ben/Documents/Kaggle/Titanic/train.csv')
train
Run Code Online (Sandbox Code Playgroud)

虽然这会按照我的预期打印数据帧,但它也会显示这些错误

//anaconda/lib/python3.4/site-packages/pandas/core/format.py:1969: RuntimeWarning: invalid value encountered in greater
  has_large_values = (abs_vals > 1e8).any()
//anaconda/lib/python3.4/site-packages/pandas/core/format.py:1970: RuntimeWarning: invalid value encountered in less
  has_small_values = ((abs_vals < 10 ** (-self.digits)) &
//anaconda/lib/python3.4/site-packages/pandas/core/format.py:1971: RuntimeWarning: invalid value encountered in greater
  (abs_vals > 0)).any()
Run Code Online (Sandbox Code Playgroud)

为什么我会收到这些错误?

编辑:我刚刚在IPython笔记本上测试了上面的代码,它没有错误.那么,我的Spyder安装有问题吗?任何帮助,将不胜感激.

EDIT2:经过一些测试,我可以在不收到警告的情况下读取CSV的前5行.因此,我怀疑NaN在第6行中,float64类型列会触发警告.

python pandas anaconda python-3.4 kaggle

20
推荐指数
1
解决办法
1万
查看次数

numpy数组与nan到标量的不等式比较

我试图将低于阈值的数组成员设置为nan.这是QA/QC过程的一部分,并且输入数据可能已经具有nan的时隙.

因此,作为示例,我的阈值可能是-1000,因此我想在以下数组中将-3000设置为nan

x = np.array([np.nan,1.,2.,-3000.,np.nan,5.])
Run Code Online (Sandbox Code Playgroud)

以下内容:

x[x < -1000.] = np.nan
Run Code Online (Sandbox Code Playgroud)

产生正确的行为,但也是RuntimeWarning,但是禁用警告的开销

warnings.filterwarnings("ignore")
...
warnints.resetwarnings()
Run Code Online (Sandbox Code Playgroud)

有点沉重,可能有点不安全.

尝试使用花式索引进行两次索引,如下所示不会产生任何影响:

nonan = np.where(~np.isnan(x))[0]
x[nonan][x[nonan] < -1000.] = np.nan
Run Code Online (Sandbox Code Playgroud)

我认为这是因为整数索引或使用索引两次进行复制.

有人有一个相对简单的解决方案吗?在这个过程中使用一个蒙面数组会很好,但最终的产品必须是一个ndarray,我不能引入新的依赖.谢谢.

python indexing inequality numpy nan

16
推荐指数
3
解决办法
7824
查看次数

运行时警告:long_scalars 中遇到无效值

我在修改数组时遇到了问题,方法是将每个项目与其行相比的百分比添加到新矩阵中。这是提供错误的代码:

for j in range(1,27):
        for k in range(1,27):
                let_prob[j,k] = let_mat[j,k]*100/(let_mat[j].sum())
Run Code Online (Sandbox Code Playgroud)

我收到错误:

运行时警告:long_scalars 中遇到无效值

我尝试将分母四舍五入,但没有成功。

python arrays runtime-error numpy python-3.x

8
推荐指数
2
解决办法
3万
查看次数