我想从NumPy数组创建一个SFrame。
我特别想要的是:
np.arange(16).reshape(4, 4) =>
+----+----+----+----+
| 0 | 1 | 2 | 3 |
+----+----+----+----+
| 0 | 1 | 2 | 3 |
| 4 | 5 | 6 | 7 |
| 8 | 9 | 10 | 11 |
| 12 | 13 | 14 | 15 |
+----+----+----+----+
[4 rows x 4 columns]如果我这样做了:
print SFrame(np.arange(16).reshape(4, 4))我得到了:
+--------------------------+
| X1 |
+--------------------------+
| [0.0, 1.0, 2.0, 3.0] |
| [4.0, 5.0, 6.0, 7.0] |
| [8.0, 9.0, 10.0, 11.0] |
| [12.0, 13.0, 14.0, 15.0] |
+--------------------------+
[4 rows x 1 columns]如果我将NumPy数组转换为Pandas DataFrame,并从Pandas DataFrame转换为SFrame,则可以得到我想要的结果
print SFrame(pd.DataFrame(np.arange(16).reshape(4, 4)))
+----+----+----+----+
| 0 | 1 | 2 | 3 |
+----+----+----+----+
| 0 | 1 | 2 | 3 |
| 4 | 5 | 6 | 7 |
| 8 | 9 | 10 | 11 |
| 12 | 13 | 14 | 15 |
+----+----+----+----+
[4 rows x 4 columns]我的问题是:
如何以NumPy数组读取的方式从Pandas数组创建SFame (使用N行和M列的数组NxM => DataFrame ),而不使用Pandas作为中间步骤?
发布于 2017-05-05 10:14:57
我也有这个问题,我也发现SFrame中的多索引很难。
可能是愚蠢的修复,但仍然是可行的;
from graphlab import SFrame,SArray
data=np.arange(16).reshape(4, 4).T
sf=SFrame(map(SArray,data)应该会产生类似这样的结果
X1 X2 X3 X4
0 1 2 3
4 5 6 7
8 9 10 11
12 13 14 15https://stackoverflow.com/questions/38577170
复制相似问题