Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/305.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python np.array中的函数_Python_Numpy_Pandas - Fatal编程技术网

Python np.array中的函数

Python np.array中的函数,python,numpy,pandas,Python,Numpy,Pandas,我正在尝试将我拥有的.value转换成一个数组,该数组中有一个函数,但不断出现错误。谢谢你的帮助 以下是。值: Y = df['GDP_growth'].values array(['3.299991384', '-1.760010328', '5.155440545', '4.019541839', '0.801760179', '7.200000003', '3.727818428', '0.883846197'], dtype-object) 以下是使数组显示为错误的命令:

我正在尝试将我拥有的.value转换成一个数组,该数组中有一个函数,但不断出现错误。谢谢你的帮助

以下是。值:

Y = df['GDP_growth'].values
array(['3.299991384', '-1.760010328', '5.155440545', '4.019541839',
       '0.801760179', '7.200000003', '3.727818428', '0.883846197'], dtype-object)
以下是使数组显示为错误的命令:

Y = np.array([1 if y>= 3 else 0 for y in Y])

在我的例子中,错误是所有结果都是1。

您可以使用numpy筛选,但首先需要根据需要将类型从
str
object
更改为
float
np.float

import numpy as np
Y = np.array(['3.299991384', '-1.760010328', '5.155440545', '4.019541839',
   '0.801760179', '7.200000003', '3.727818428', '0.883846197'], dtype=object)
Y = Y.astype(float)

Y[Y<=3] = 0
Y[Y>3] = 1

In [67]: Y
Out[67]: array([ 1.,  0.,  1.,  1.,  0.,  1.,  1.,  0.])

明白了!显然,我有一些缺少的值被表示为“..”,所以我必须先通过删除这些行来解决它,然后我才能应用。astype

错误是怎么说的<在列表理解中,如果,则的代码>应位于
之前。另外,您的
np.array
中填充的是字符串而不是数字。这里有很多问题需要解决…如果
/
的顺序是
/
的话,请不要太快阅读。不幸的是,它仍然是这个错误:--------------------------------------------------------------------------------------ValueError Traceback(最近一次调用last)in()------>1 Y=Y.astype(float)ValueError:无法将字符串转换为float:。。
z = pd.Series(Y)
z[0] = 'a'

In [293]: z
Out[293]:
0               a
1    -1.760010328
2     5.155440545
3     4.019541839
4     0.801760179
5     7.200000003
6     3.727818428
7     0.883846197
dtype: object

pd.to_numeric(z, errors='coerce').dropna() 

In [296]: pd.to_numeric(z, errors='coerce').dropna()
Out[296]:
1   -1.760010
2    5.155441
3    4.019542
4    0.801760
5    7.200000
6    3.727818
7    0.883846
dtype: float64