Преобразование 2d матрицы в однорядный DataFrame с сохранением элементов в виде целых чисел - PullRequest
1 голос
/ 22 мая 2019

У меня есть вопрос относительно преобразования 2D-матрицы в одну строку Dataframe.

Например, у меня есть следующая матрица (2D-массив) с целочисленными элементами

2d_array = [[0, 1, 1],[1, 0, 1],[1, 1, 0]]

Есть ли способ преобразовать его в DataFrame, как показано ниже, и сохранить каждый элемент как целое число?

df = 
    0   1   2   3   4   5   6   7   8
0   0   1   1   1   0   1   1   1   0

Сначала я попытался сгладить двумерный массив

flattened_array = 2d_array.flatten()

Тогда я использую pandas.DataFrame

df = pandas.DataFrame(flatttened_array)

Но результаты дали мне один столбец Dataframe с элементами "numpy.float64", как показано ниже:

df = 
   0
0  0.0
1  1.0
2  1.0
3  1.0
4  0.0
5  1.0
6  1.0
7  1.0
8  0.0

Пожалуйста, помогите. Спасибо вам большое!

Tommy

Ответы [ 3 ]

3 голосов
/ 22 мая 2019

Добавление []

df = pd.DataFrame([flattened_array])
df
Out[297]: 
   0  1  2  3  4  5  6  7  8
0  0  1  1  1  0  1  1  1  0
0 голосов
/ 22 мая 2019

Другой вариант:

pd.DataFrame(np.array(array).reshape(1,-1))
0 голосов
/ 22 мая 2019

может быть, вы можете попробовать:

df[flatttened_array] = df[flatttened_array].astype(int)
...