Как преобразовать несколько столбцов данных (одного типа) в один список или серию - PullRequest
0 голосов
/ 18 октября 2018

Предположим, у вас есть pandas dataframe вида

col0 col1 col2 col3
---------------------
a0   a1   a2   a3
b0   b1   None None
c0   c1   c2   c3

Хотел бы иметь возможность получить список или серию панд некоторого определенного выбора этих столбцов, например.

in: stack(df[['col1', 'col3']])

out: 
a0
a3
b0
c0
c3

(обратите внимание, что в этом примере значения None пропускаются).Пробовал использовать stack () , но, похоже, не совсем то, что нужно.Буду признателен за любые советы или предложения о том, как я могу вставить столбцы данных в эту форму. (В конечном счете, вы хотите получить гистограмму различных значений (через https://stackoverflow.com/a/28419258/8236733)).

1 Ответ

0 голосов
/ 18 октября 2018

Вы можете использовать .unstack(), чтобы превратить их в серию MultiIndex ed, сбросить нули, а затем просто взять np.array или список:

In [69]: df[['col1', 'col3']].unstack().dropna().values
Out[69]: array(['a1', 'b1', 'c1', 'a3', 'c3'], dtype=object)

In [70]: df[['col1', 'col3']].unstack().dropna().tolist()
Out[70]: ['a1', 'b1', 'c1', 'a3', 'c3']
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...