我正在尝试探索Pandas图书馆并停留在我经常面对的一个例子中,我认为熊猫有解决方案。鉴于以下代码:
In [63]: d1 = np.random.rand(3,3)
In [63]: d2 = np.random.rand(3,3)
In [64]:s1 = pandas.Series(d1,index = [['a1']*d1.shape[0],
[4]*d1.shape[0],
range(d1.shape[0])])
Out[64]:a1 4 0 [ 0.00881133 0.71344668 0.03611378]
1 [ 0.37328776 0.63195947 0.23000941]
2 [ 0.68466443 0.85891677 0.31740809]
In [65]: s2 = pandas.Series(d2,index = [['a2']*d2.shape[0],
[5]*d2.shape[0],
range(d2.shape[0])])
Out[65]:a2 5 0 [ 0.00881133 0.71344668 0.03611378]
1 [ 0.37328776 0.63195947 0.23000941]
2 [ 0.68466443 0.85891677 0.31740809]
s = s1.append(s2)
a1 4 0 [ 0.00881133 0.71344668 0.03611378]
1 [ 0.37328776 0.63195947 0.23000941]
2 [ 0.68466443 0.85891677 0.31740809]
5 0 [ 0.00881133 0.71344668 0.03611378]
1 [ 0.37328776 0.63195947 0.23000941]
2 [ 0.68466443 0.85891677 0.31740809]
如何在没有标签的情况下单独获取所有数据矩阵的列表?
答案 0 :(得分:2)
s.values
可以解决问题。
从documentation:DataFrame.values
将帧转换为Numpy-array矩阵表示。“
我认为你的意思是pandas.DataFrame
以上(不是Series
)。 Series.values
也存在。
答案 1 :(得分:1)
我在运行代码时遇到错误。但是,要将pandas Series转换为numpy数组,请使用pandas.Series.values
方法。 Wes的documentation做得非常好。花一些时间回顾......