Mam tablicy 2D NumPy które chciałbym umieścić w serialu Pandy (nie DataFrame):Put tablicy 2D do Pandy Series
>>> import pandas as pd
>>> import numpy as np
>>> a = np.zeros((5, 2))
>>> a
array([[ 0., 0.],
[ 0., 0.],
[ 0., 0.],
[ 0., 0.],
[ 0., 0.]])
Ale to zgłasza błąd:
>>> s = pd.Series(a)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/miniconda/envs/pyspark/lib/python3.4/site-packages/pandas/core/series.py", line 227, in __init__
raise_cast_failure=True)
File "/miniconda/envs/pyspark/lib/python3.4/site-packages/pandas/core/series.py", line 2920, in _sanitize_array
raise Exception('Data must be 1-dimensional')
Exception: Data must be 1-dimensional
jest możliwe hack:
>>> s = pd.Series(map(lambda x:[x], a)).apply(lambda x:x[0])
>>> s
0 [0.0, 0.0]
1 [0.0, 0.0]
2 [0.0, 0.0]
3 [0.0, 0.0]
4 [0.0, 0.0]
Czy istnieje lepszy sposób?
Domyślnie Pandy trafia kształt np tablica i przydziela odpowiednio DataFrame. Musisz więc oszukać kształt swojej tablicy np. ... To, co "hakujesz", robi, chociaż po jednym rzędzie naraz. – Kartik
Jakieś przemyślenia na temat zawijania każdego wiersza na liście przy użyciu operacji macierzy? – zemekeneng
Po prostu z ciekawości, dlaczego miałbyś tego chcieć? –