Series to Numpy Array:
У меня есть объект серии pandas
, который выглядит следующим образом:
s1 = pd.Series([0,1,2,3,4,5,6,7,8], index=['AB', 'AC','AD', 'BA','BB','BC','CA','CB','CC'])
Я хочу преобразовать эту серию в массив numpy
какследует:
series_size = s1.size
dimension_len = np.sqrt(series_size)
**Note: series_size will always have an integer sqrt
dimension_len будет определять размер каждого из измерений в желаемом 2-мерном массиве.
В вышеприведенном объекте series размер_len = 3, поэтому требуемый массив numpy
будет иметь массив 3 x 3 следующим образом:
np.array([[0, 1, 2],
[3, 4, 5],
[6,7, 8]])
Кадр данных в массив Numpy:
У меня есть pandas
объект dataframe, который выглядит следующим образом:
s1 = pd.Series([0,1,2,3,4,5,6,7,8], index=['AA', 'AB','AC', 'BA','BB','BC','CA','CB','CC'])
s2 = pd.Series([-2,2], index=['AB','BA'])
s3 = pd.Series([4,3,-3,-4], index=['AC','BC', 'CB','CA'])
df = pd.concat([s1, s2, s3], axis=1)
max_size = max(s1.size, s2.size, s3.size)
dimension_len = np.sqrt(max_size)
num_columns = len(df.columns)
**Note: max_size will always have an integer sqrt
Результирующий массив numpy
будет определяться следующей информацией:
num_columns = определяет числоизмерений массива размер_лен = определяет размер каждого измерения
. В приведенном выше примере требуемый массив numpy
будет иметь размер 3 x 3 x 3 (num_columns = 3 и dimension_len = 3)
Также первый столбец df станет DESIRED_ARRAY [0], второй столбец df станет DESIRED_ARRAY [1], третий столбец df станет DESIRED_ARRAY [2] и так далее ...
Нужный массив, который я хочу, выглядит так:
np.array([[[0, 1, 2],
[3, 4, 5],
[6, 7, 8]],
[[np.nan,-2, np.nan],
[2, np.nan, np.nan],
[np.nan, np.nan, np.nan]],
[[np.nan,np.nan, 4],
[np.nan, np.nan, 3],
[-4, -3, np.nan]],
])