这篇文章主要围绕numpy,对ndarray.base的理解和numpy中的ndarray对象的ones展开,旨在为您提供一份详细的参考资料。我们将全面介绍numpy,对ndarray.base的理解
这篇文章主要围绕numpy,对 ndarray.base 的理解和numpy中的ndarray对象的ones展开,旨在为您提供一份详细的参考资料。我们将全面介绍numpy,对 ndarray.base 的理解的优缺点,解答numpy中的ndarray对象的ones的相关问题,同时也会为您带来'numpy.ndarray' 对象在 map 函数中不可调用,使用 numpy 数组、AttributeError-'numpy.ndarray'对象没有属性'drop'、AttributeError:''numpy.ndarray'对象没有属性'rolling''仅在过滤CSV数据后出现、AttributeError:“ numpy.ndarray”对象没有属性“ set_aspect”的实用方法。
本文目录一览:- numpy,对 ndarray.base 的理解(numpy中的ndarray对象的ones)
- 'numpy.ndarray' 对象在 map 函数中不可调用,使用 numpy 数组
- AttributeError-'numpy.ndarray'对象没有属性'drop'
- AttributeError:''numpy.ndarray'对象没有属性'rolling''仅在过滤CSV数据后出现
- AttributeError:“ numpy.ndarray”对象没有属性“ set_aspect”
numpy,对 ndarray.base 的理解(numpy中的ndarray对象的ones)
a
的情况是切片,总是返回一个引用。案例 c
和 d
包含 indexing,它总是返回一个副本。阅读更多相关信息here。
c
和 d
的区别在于:
对于c
,由于要复制所有行,但只选择列,
内部发生的是,原始数组被转置并存储在新的ndarray中;然后删除未选择的列(新 nd-array 中的行)。然后返回一个转置(这可以从打印 c
和 c.base
的结果中看出)。
对于 d
,由于以不连续的方式选择行(该行的所有列)和 since C style row-major order is used internally(好吧,取决于),新的 ndarray 是直接从原始数组填充(复制,因此没有基数)。
编辑:
根据信息here,当索引不连续的行时(如d
),单个行被复制和堆叠。
扩展这个想法,我假设对于不连续的列(如 c
),执行 3 步操作会更有意义:
- 转置原始数组
- 将选定的列(现在是行)复制到新的 nd-array(这必须存储为 base)
- 转置基数,然后返回
我不得不承认我没有找到这方面的官方文档。
'numpy.ndarray' 对象在 map 函数中不可调用,使用 numpy 数组
如何解决''numpy.ndarray'' 对象在 map 函数中不可调用,使用 numpy 数组
我的目标是规范化二维 numpy 数组/矩阵的每一行。我以为会很简单.. 我正在尝试执行如下代码所示的地图操作。我查找了这个错误,它在像函数一样调用数组时发生,这不是我的情况..
输入参数(p_list)是一个二维的numpy数组:
import numpy as np
def normalize(p_list):
if (type(p_list) == list):
L = p_list
else:
L = p_list.tolist() # Converts numpy matrix to list of lists.
print(type(L)) # L is of type list ! (even if p_list is of type numpy.ndarray)
return list(map(lambda p: np.linalg.norm(p),L))
我的错误,发生在 list(map(...)) 行。 :
TypeError: ''numpy.ndarray'' object is not callable
对不起我的误解,如果这个问题已经解决了.. :/
AttributeError-'numpy.ndarray'对象没有属性'drop'
如何解决AttributeError-''numpy.ndarray''对象没有属性''drop''?
对于当前的项目,我计划在包含数字数据的CSV集合上运行scikit-learn随机梯度助推器算法。
调用脚本的X = Germany.drop(''Status'',axis=''columns'')
时,我收到了AttributeError: ''numpy.ndarray'' object has no attribute ''drop''
。
我认为此错误可能与以下事实有关:我正在转换CSV数据pd.to_numeric
,这也可能会转换字符串标题。有没有可以进行此操作的智能调整?
CSV数据具有以下结构:
相应的代码如下:
Germany = pd.read_csv(''./Germany_filtered.csv'',index_col=0)
Germany = Germany.fillna("")
Germany = pd.to_numeric(Germany.columns.str,errors=''coerce'')
Germany.head()
X = Germany.drop(''Status'',axis=''columns'')
y = Germany[''Status'']
解决方法
In [167]: df = pd.DataFrame(np.arange(12).reshape(3,4),columns=[''a'',''b'',''c'',''d''])
drop
在数据框上可以正常工作:
In [168]: df.drop(''c'',axis=''columns'')
Out[168]:
a b d
0 0 1 3
1 4 5 7
2 8 9 11
to_numeric
产生一个numpy数组:
In [169]: x = pd.to_numeric(df.columns.str,errors=''coerce'')
In [170]: x
Out[170]:
array(<pandas.core.strings.StringMethods object at 0x7fef602862b0>,dtype=object)
In [171]: type(x)
Out[171]: numpy.ndarray
在进入head
之前,它应该抱怨drop
:
In [172]: x.head()
Traceback (most recent call last):
File "<ipython-input-172-830ed5e65d76>",line 1,in <module>
x.head()
AttributeError: ''numpy.ndarray'' object has no attribute ''head''
In [173]: x.drop()
Traceback (most recent call last):
File "<ipython-input-173-6d3a33341569>",in <module>
x.drop()
AttributeError: ''numpy.ndarray'' object has no attribute ''drop''
to_numeric
文档怎么说?我没有与之合作,但显然您不想将其传递给df.columns.str
对象。我尚未使用此功能,但让我们尝试将其传递给数据框:
In [176]: x = pd.to_numeric(df,errors=''coerce'')
Traceback (most recent call last):
File "<ipython-input-176-d095b0166b8f>",in <module>
x = pd.to_numeric(df,errors=''coerce'')
File "/usr/local/lib/python3.6/dist-packages/pandas/core/tools/numeric.py",line 139,in to_numeric
raise TypeError("arg must be a list,tuple,1-d array,or Series")
TypeError: arg must be a list,or Series
因此,让我们传递一列/系列:
In [177]: x = pd.to_numeric(df[''a''],errors=''coerce'')
In [178]: x
Out[178]:
0 0
1 4
2 8
Name: a,dtype: int64
结果Series
可以在同一列或新列中分配回数据框:
In [179]: df[''a''] = x
In [180]: df
Out[180]:
a b c d
0 0 1 2 3
1 4 5 6 7
2 8 9 10 11
现在在我的示例框架中,无需进行此转换,但它应该可以为您提供一些帮助。
让我们尝试真正的字符串转换:
In [195]: df[''a''] = [''00'',''04'',''LS'']
In [196]: df
Out[196]:
a b c d
0 00 1 2 3
1 04 5 6 7
2 LS 9 10 11
链接的答案无济于事:
In [197]: pd.to_numeric(df.columns.str,errors=''coerce'')
Out[197]:
array(<pandas.core.strings.StringMethods object at 0x7fef602862b0>,dtype=object)
但是我的版本确实产生了一个数字系列:
In [198]: pd.to_numeric(df[''a''],errors=''coerce'')
Out[198]:
0 0.0
1 4.0
2 NaN
Name: a,dtype: float64
AttributeError:''numpy.ndarray'对象没有属性'rolling''仅在过滤CSV数据后出现
如何解决AttributeError:''''numpy.ndarray''对象没有属性''rolling''''仅在过滤CSV数据后出现?
如果我按照下面给出的方法传递csv
数据的值,则会产生输出。
data = pd.read_csv("abc.csv")
avg = data[''A''].rolling(3).mean()
print(avg)
但是,如果按照下面给出的方法传递值,则会产生错误。
dff=[]
dff1=[]
dff1=abs(data[''A''])
b,a = scipy.signal.butter(2,0.05,''highpass'')
dff = scipy.signal.filtfilt(b,a,dff1)
avg = dff.rolling(3).mean()
print(avg)
错误是:
AttributeError:''numpy.ndarray''对象没有属性''rolling''
我不明白,代码有什么问题?
应用dff = pd.Dataframe(dff)
后出现新问题。顶部显示一个意外的零。
这是什么原因?如何摆脱这个问题?
解决方法
rolling
是对熊猫Series
和DataFrame
的功能。 Scipy对这些一无所知,并生成Numpy ndarray
作为输出。它可以接受数据框和序列作为 input ,因为Pandas类型可以在需要时模仿ndarray。
解决方案可能就像使用
将ndarray重新包装为数据框一样简单。dff = pd.Dataframe(dff)
AttributeError:“ numpy.ndarray”对象没有属性“ set_aspect”
如何解决AttributeError:“ numpy.ndarray”对象没有属性“ set_aspect”?
当我编写代码时:
for i in iaq:
fig,ax = plt.subplots(8,5,figsize=(8,5))
df_g2[df_g2[''aq_date''] == i].plot(column=''zone_id'',cmap=''Greens'',ax=ax,legend=True)
ax.set_title(''Analysis :''+ str(i))
plt.show()
它显示以下错误:
AttributeError: ''numpy.ndarray'' object has no attribute ''set_aspect''
如何解决这个问题?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)
今天的关于numpy,对 ndarray.base 的理解和numpy中的ndarray对象的ones的分享已经结束,谢谢您的关注,如果想了解更多关于'numpy.ndarray' 对象在 map 函数中不可调用,使用 numpy 数组、AttributeError-'numpy.ndarray'对象没有属性'drop'、AttributeError:''numpy.ndarray'对象没有属性'rolling''仅在过滤CSV数据后出现、AttributeError:“ numpy.ndarray”对象没有属性“ set_aspect”的相关知识,请在本站进行查询。
本文标签: