Czy istnieje funkcja pandy do transformacji tych danych, aby wyświetlały kolumny jako a, b, c, d, e lub cokolwiek w polu danych, a wiersze zliczają ile z nich znajduje się.Transforming Panda DataFrame
import pandas as pd
trans = pd.read_table('output.txt', header=None, index_col=0)
print trans
>>>
1 2 3 4
0
11 a b c NaN
666 a d e NaN
10101 b c d NaN
1010 a b c d
414147 b c NaN NaN
10101 a b d NaN
1242 d e NaN NaN
101 a b c d
411 c d e NaN
444 a b c NaN
zamiast Chcę wyjście być tak:
a b c d e
0
11 1 1 1 NaN NaN
666 1 NaN NaN 1 1
Funkcja .stack() prawie dostaje to zrobić, ale w niewłaściwym formacie.
Piękna. Znacznie lepiej niż moja (teraz usunięta) próba zmuszenia get_dummies do pracy na DataFrame. Naprawdę podoba mi się '' unstack(). Dropna() '' idiom. –
Zauważyłem, że mógłbyś to zostawić, nie szkodząc w posiadaniu niektórych opcji. Wciąż zgadzam się z twoim wcześniejszym komentarzem, że jest mniej ładny (i czytelny) niż rozwiązanie "pivot" z Romana. Pojęcie pivota jest również lepiej znane, a następnie ... 'get_dummies'. :) –