Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/303.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 将理解列表转换为Numpy数组-故障?_Python_Arrays_List_Numpy_List Comprehension - Fatal编程技术网

Python 将理解列表转换为Numpy数组-故障?

Python 将理解列表转换为Numpy数组-故障?,python,arrays,list,numpy,list-comprehension,Python,Arrays,List,Numpy,List Comprehension,我无法将理解列表转换为numpy数组。我循环浏览不同的理解列表;不过有些似乎还不错。我通过打印他们的形状验证了这个错误,有些迭代没有返回正确的尺寸。因此,我无法将这些numpy数组(成分)与另一组数组(基本信息)连接起来。另外,我为这些迭代打印了numpy数组本身,并注意到“[”有一个额外的尾随空间。任何帮助都将不胜感激 请参阅下文: (1)我就是这样创建列表的 html = browser.page_source soup = BeautifulSoup(html)

我无法将理解列表转换为
numpy
数组。我循环浏览不同的理解列表;不过有些似乎还不错。我通过打印他们的
形状
验证了这个错误,有些迭代没有返回正确的尺寸。因此,我无法将这些numpy数组(成分)与另一组数组(基本信息)连接起来。另外,我为这些迭代打印了numpy数组本身,并注意到“[”有一个额外的尾随空间。任何帮助都将不胜感激

请参阅下文:

(1)我就是这样创建列表的

html = browser.page_source
            soup = BeautifulSoup(html)
            table = soup.find('div', {'id': 'placeBody_dynField77_divScroll'})
            table_body = table.find('tbody')
            rows = table_body.findAll('tr')[1:]
            Ingredients = []
            for row in rows:
                cols = row.find_all('td')
                cols = [ele.text.strip() for ele in cols]
                Ingredients.append([ele for ele in cols if ele])
            Ingredients = np.array(Ingredients)
(2)打印
形状时,不会返回列数(应为8)

打印(配料)
打印(配料.形状,基本信息2.形状)
>>

[['加氢处理的重环烷馏分(石油),'64742-52-5','n/a','40.00%,'50.00%,'45.00%,'40-numpy不支持参差不齐的排列(并非每行长度相同的排列)。您的
成分似乎参差不齐:

>>> [len(x) for x in Ingredients]
[8, 8, 8, 7, 8, 8, 8, 8, 8, 8]
由于numpy不支持此功能,因此它会尽其所能为您提供一个长度为10的object dtype数组。也就是说,您得到的不是数组10x8,而是一个形状为10的数组,其中每个元素只是一个对象(这恰好是一个Python列表,但numpy此时不再关心)

在numpy看到数组之前,您需要将其设置为矩形,无论是通过修复处理还是通过填充或添加伪值,只要合适


请注意,尽管numpy并非真正用于处理混合类型的表格数据:为此,您可能希望使用。

numpy不支持不规则数组(并非每行长度相同的数组)。您的
成分似乎不规则:

>>> [len(x) for x in Ingredients]
[8, 8, 8, 7, 8, 8, 8, 8, 8, 8]
由于numpy不支持此功能,因此它会尽其所能为您提供一个长度为10的object dtype数组。也就是说,您得到的不是数组10x8,而是一个形状为10的数组,其中每个元素只是一个对象(这恰好是一个Python列表,但numpy此时不再关心)

在numpy看到数组之前,您需要将其设置为矩形,无论是通过修复处理还是通过填充或添加伪值,只要合适

请注意,尽管numpy并不是真正用于处理混合类型的表格数据:为此,您可能希望使用