Как сохранить форму столбцов в объекте данных без изменений после перестановки одного из столбцов? - PullRequest
0 голосов
/ 19 марта 2020

У меня есть DataFrame объект с именем df, который сформирован путем табулирования массивов 6 numpy (N,) и (N, 3) в виде столбцов таблицы:

data = {'ID': ids_data.tolist(), 
        'Position': positions_data.tolist(), 
        'Radius': radiuss_data.tolist(), 
        'Mass': masss_data.tolist(), 
        'Velocity': velocitys_data.tolist(), 
        'Escape Velocity': escape_velocitys_data.tolist()}

    df = pd.DataFrame(data)

Здесь это форма position_array до помещения в data: то есть форма (N, 3) массива

[[ -36.12  -51.06  222.9 ]
 [-211.2    21.56  215.1 ]
 [-215.3   -36.88  175.9 ]
  ...
 [ 181.9    53.9   185.1 ]
 [ 145.1   156.4   159.  ]
 [ -16.59   11.52  165.8 ]]

Я перетасовал один из столбцов таблицы следующим образом:

df['Position'] = df['Position'].sample(frac=1)

Теперь мне нужно извлечь все столбцы нового объекта DataFrame в виде (N,) или (N, 3) numpy arrays для последующего использования в сценарии.

ids_data, positions_data, radiuss_data, masss_data, velocitys_data, escape_velocitys_data = df['ID'].values, df['Position'].values, df['Radius'].values, df['Mass'].values, df['Velocity'].values, df['Escape Velocity'].values

Однако, после печати position_array, вот вывод: например, форма (N,) массива

[list([9.32, 6.92, -9.669]) list([67.61, 116.6, 35.13])
 list([149.4, 107.3, 159.8]) ... list([79.3, -44.27, 0.03649])
 list([19.0, -13.63, -16.86]) list([140.0, -177.1, 104.0])]

Не могли бы вы научить меня, как избавиться от слова "список" и сохранить формат массива, который был до его использования для таблицы, т. е. (N, 3) numpy array?

...