Python 将数组转换为Numpy数组可更改值

Python 将数组转换为Numpy数组可更改值,python,scikit-learn,rdkit,Python,Scikit Learn,Rdkit,我正在使用RDKit软件包将一些微笑转换成指纹 我的问题是,我使用Scikit学习,我想做一份简历。对于CV,我需要np.array数据结构。。。 对于一种指纹,我将数据结构转换为0和1的结构。 这里只是一个武断的例子 打印x: 包含大量以下内容的车辆: 将创建位于0x05E498F0的rdkit.DataStructs.cDataStructs.ExplicitBitVect对象对象 x=np.数组(x) 打印x:将创建1和0的向量 我不知道为什么numpy数组转换,改变类型 对于位于0x05

我正在使用RDKit软件包将一些微笑转换成指纹

我的问题是,我使用Scikit学习,我想做一份简历。对于CV,我需要np.array数据结构。。。 对于一种指纹,我将数据结构转换为0和1的结构。 这里只是一个武断的例子

打印x: 包含大量以下内容的车辆: 将创建位于0x05E498F0的rdkit.DataStructs.cDataStructs.ExplicitBitVect对象对象

x=np.数组(x) 打印x:将创建1和0的向量

我不知道为什么numpy数组转换,改变类型

对于位于0x05DDF960的rdkit.DataStructs.CDATA Structs.LongSparseIntVect对象 numpy将向量更改为相同的结构

我只是问,因为从4个指纹中的2个,我得到了这个错误,因为numpy转换:

AttributeError:'numpy.ndarray'对象没有属性'GetNumBits' 指纹摩根

from rdkit import DataStructs
from rdkit.Chem.Fingerprints import FingerprintMols
from rdkit.Chem import AllChem
from rdkit import Chem
from rdkit import DataStructs
from rdkit.Chem import MACCSkeys
import numpy as np


ms = [Chem.MolFromSmiles('CCOC'),    Chem.MolFromSmiles('CCO'),Chem.MolFromSmiles('COC')]
fps = [MACCSkeys.GenMACCSKeys(x) for x in ms]
a=DataStructs.FingerprintSimilarity(fps[0],fps[1])


#everything is fine
print fps
print a
# output: [<rdkit.DataStructs.cDataStructs.ExplicitBitVect object at 0x0325CE30>, <rdkit.DataStructs.cDataStructs.ExplicitBitVect object at 0x0325CE68>, <rdkit.DataStructs.cDataStructs.ExplicitBitVect object at 0x0325CEA0>]


#now the error occures

fps=np.array(fps)
print fps

#output: [[0 0 0 0 1 0 1 .....] [1 0 0 0 1...0 1] [1 0 0 .... 1 1]
a=DataStructs.FingerprintSimilarity(fps[0],fps[1])
#AttributeError: 'numpy.ndarray' object has no attribute 'GetNumBits'
从rdkit导入数据结构
从rdkit.Chem.Fingerprints导入指纹
从rdkit.Chem导入所有化学
来自rdkit进口化学公司
从rdkit导入数据结构
从rdkit.Chem导入MACCSkeys
将numpy作为np导入
ms=[Chem.MolFromSmiles('CCOC')、Chem.MolFromSmiles('CCO')、Chem.MolFromSmiles('COC')]
fps=[MACCSkeys.GenMACCSKeys(x)表示x,单位为ms]
a=数据结构。指纹相似性(fps[0],fps[1])
#一切都很好
打印fps
打印
#输出:[,]
#现在出现了错误
fps=np.数组(fps)
打印fps
#输出:[[0 0 0 1 0 1….][1 0 0 1…0 1][1 0 0…1 1]
a=数据结构。指纹相似性(fps[0],fps[1])
#AttributeError:'numpy.ndarray'对象没有属性'GetNumBits'
吕肯博士,你喜欢贝利比奇的味道。
打印fps

你能把你目前拥有的东西做一个简单的描述,然后展示你期望得到的东西吗?我很难理解你想要做什么,但从你最后的一句话来看,我想你没有按预期使用这个库。我试过了。也许这会有助于理解我的意思。我用不同的方式解决了这个问题,但谢谢你u!下次我将以更好的方式解释,也许您可以添加您找到的解决方案(或替代路线)然后,你也可以接受你自己的答案,从而将这个问题标记为已解决,并为将来可能会遇到类似于你所经历的事情的人留下一个提示。事实上,我没有解决这个问题,我只是采取另一种方式,来避免这种转换,所以它不是r这个问题的答案是什么?你能对你目前拥有的东西做一个简单的描述,然后展示你期望得到的东西吗?我很难理解你想要做什么,但从你的最后一句话来看,我想你没有按预期使用这个库。我试过了。也许这将有助于理解我的意思。我用不同的方式解决了这个问题好的,但谢谢!下次我会用更好的方式解释,也许你可以添加你找到的解决方案(或替代路线)然后,你也可以接受你自己的答案,从而将这个问题标记为已解决,并为将来可能会遇到类似于你所经历的事情的人留下一个提示。事实上,我没有解决这个问题,我只是采取另一种方式,来避免这种转换,所以它不是r这个问题有答案吗