Я пытаюсь заставить Series
конструктор понять, что я хочу, чтобы каждая ячейка содержала список.Он работает над формой (m,)
, но не над формой (m, n)
import pandas as pd
import numpy as np
print(pd.__version__)
# 0.24.1
index = ['a', 'b', 'c']
### 1 - shape (m,) is OK ###
data1 = np.array([[1, 2, 3], [4, 5], [6, 7, 8, 9]])
print(data1.shape)
# (3,)
series1 = pd.Series(index=index, data=data1)
print(series1)
# a [1, 2, 3]
# b [4, 5]
# c [6, 7, 8, 9]
# dtype: object
### 2 - shape (m,n) is NOT OK ###
data2 = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
print(data2.shape)
# (3, 3)
series2 = pd.Series(index=index, data=data2)
# Traceback (most recent call last):
# File "test.py", line 25, in <module>
# series2 = pd.Series(index=index, data=data2)
# File "/home/dev/virtualenv/py-cnn/lib64/python3.6/site-packages/pandas/core/series.py", line 262, in __init__
# raise_cast_failure=True)
# File "/home/dev/virtualenv/py-cnn/lib64/python3.6/site-packages/pandas/core/internals/construction.py", line 658, in sanitize_array
# raise Exception('Data must be 1-dimensional')
# Exception: Data must be 1-dimensional
Любая идея преобразовать numpy
форму массива в (m,)
или сделать понятным Pandas
Serie конструктор, что мне нужно?