Как преобразовать DataFrame в массив целых чисел, не используя при этом значения nan?

1

У меня есть следующий DataFrame содержащий 3 столбца.

A  B  C
-------
1  2  4
2  3  nan
4  4  2

Мне нужно преобразовать это в числовой массив целых чисел и опустить значения nan.

Поэтому мне это нужно:

[ [1 2 4],
  [2 3 4],
  [4 2] ]

Как мне это сделать? Мне особенно нужны элементы в результирующем массиве, которые должны быть целыми числами и опускать значения nan.

  • 1
    NumPy не поддерживает зубчатые массивы.
Теги:
pandas
dataframe

1 ответ

3

Вы можете использовать понимание списка:

In [11]: [[int(i) for i in r if not np.isnan(i)] for _, r in df.iterrows()]
Out[11]: [[1, 2, 4], [2, 3], [4, 4, 2]]

In [12]: [[int(i) for i in r if not np.isnan(i)] for _, r in df.iteritems()]
Out[12]: [[1, 2, 4], [2, 3, 4], [4, 2]]

Ещё вопросы

Сообщество Overcoder
Наверх
Меню