Converting NumPy array into Python List structure?
如何将numpy数组转换为python列表(例如
使用
1 2 3 | import numpy as np >>> np.array([[1,2,3],[4,5,6]]).tolist() [[1, 2, 3], [4, 5, 6]] |
请注意,这会将这些值从它们可能具有的任何numpy类型(例如np.int32或np.float32)转换为"最近的兼容python类型"(在列表中)。如果要保留numpy数据类型,可以改为在数组上调用list(),最终得到一个numpy scalar列表。(感谢先生和夫人在评论中指出了这一点。)
如果numpy数组形状为2d,则numpy.tolist方法将生成嵌套数组。
如果需要简单的列表,下面的方法可以工作。
1 2 3 4 5 6 7 8 9 10 11 12 13 | import numpy as np from itertools import chain a = [1,2,3,4,5,6,7,8,9] print type(a), len(a), a npa = np.asarray(a) print type(npa), npa.shape," ", npa npa = npa.reshape((3, 3)) print type(npa), npa.shape," ", npa a = list(chain.from_iterable(npa)) print type(a), len(a), a` |
号
大熊猫
1 2 3 4 5 | my_list = [0,1,2,3,4,5,4,3,2,1,0] my_dt = pd.DataFrame(my_list) new_list = [i[0] for i in my_dt.values.tolist()] print(type(my_list),type(my_dt),type(new_list)) |
埃多克斯1〔3〕