繁体   English   中英

我如何将numpy数组转换为pandas数据帧

[英]how do i convert a numpy array to pandas dataframe

如何将numpy数组转换为pandas数据帧?

例如:

test = np.array([[1,2],[2,3]])
test2 = np.array([[2,4],[2,5]])

对此:

pd.DataFrame({'test':[[1,2],[2,3]],
              'test2':[[2,4],[2,5]]})

     test   test2
0  [1, 2]  [2, 4]
1  [2, 3]  [2, 5]

虽然你可以使用

In [85]: pd.DataFrame({'test':test.tolist(), 'test2':test2.tolist()})
Out[85]: 
     test   test2
0  [1, 2]  [2, 4]
1  [2, 3]  [2, 5]

NumPy数组上的计算可能比在包含Python列表的Pandas DataFrame上进行的等效计算快得多。

如果这些numpy数组具有相同的长度,那么Panel可能是更好的:

In [11]: p = pd.Panel({"test": test, "test2": test2})

In [12]: p
Out[12]:
<class 'pandas.core.panel.Panel'>
Dimensions: 2 (items) x 2 (major_axis) x 2 (minor_axis)
Items axis: test to test2
Major_axis axis: 0 to 1
Minor_axis axis: 0 to 1

In [13]: p["test"]  # a DataFrame
Out[13]:
   0  1
0  1  2
1  2  3

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM