我已经将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)