如何在数组 numpy 中将数据框熊猫转换为没有单词"list"的 numpy 中的列表



我已经将pandas中的数据帧转换为numpy中的列表,但我得到了单词"列表";在数组numpy中,如图1所示。图1

我希望我能得到numpy中的列表数据,就像图2中没有单词"一样;列表";阵列内

图2

它看起来numpy.array将列表列表强制转换为2d数组,但将列表系列转换为1d列表数组。

所以这应该有效。

tweet = TWEET_DATA['TF_IDF_Vec']
arr = np.array(tweet.to_list())

Try-

arr = np.array(tweet.tolist())

数组显示中的单词list不仅仅是为了让事情变得丑陋。它旨在传达有用的信息。另一方面,pandas倾向于将这些信息隐藏在其显示中,从而使事情变得漂亮。在可能的情况下,试着了解正在处理的对象的基本性质,而不仅仅是它们的显示。

我们可以制作一个包含多种项目的系列(或数据帧列(:

In [27]: s =pd.Series([None, 'string','[1,2,3]',[1,2,3],np.array([1,2,3])])
In [28]: s
Out[28]: 
0         None
1       string
2      [1,2,3]
3    [1, 2, 3]
4    [1, 2, 3]
dtype: object

请注意列表和数组的显示方式相同,并且字符串没有引号。

如果我们要求它提供一个数组:

In [29]: np.array(s)
Out[29]: 
array([None, 'string', '[1,2,3]', list([1, 2, 3]), array([1, 2, 3])],
dtype=object)

np.array()的作用与相同

In [30]: s.to_numpy()
Out[30]: 
array([None, 'string', '[1,2,3]', list([1, 2, 3]), array([1, 2, 3])],
dtype=object)

在这个1d数组中,元素的性质更加明确。

除了显示嵌套列表之外,项目列表类似:

In [31]: s.tolist()
Out[31]: [None, 'string', '[1,2,3]', [1, 2, 3], array([1, 2, 3])]

我们可以从最后两个项目中制作一个2d数组,因为它们的长度都是3:

In [32]: s[3:].tolist()
Out[32]: [[1, 2, 3], array([1, 2, 3])]
In [33]: np.array(s[3:].tolist())
Out[33]: 
array([[1, 2, 3],
[1, 2, 3]])

检查这是否适用于

示例

lista = list([list([1,2,3]),[2]])
lista=sum(lista, [])
arrayLista = np.array(lista)

在您的情况下

tweet = sum(tweet, [])
arr = np.array(tweet) 

最新更新