/ / Použiť metódu DataFrame vs Chápanie zoznamu - python, pandas

Aplikovať metódu DataFrame vs Chápanie zoznamu - python, pandas

Potrebujem získať zoznam niektorých špecifických indexov pandy série; a zoznam všetkých týchto zoznamov pre všetky série dátového radu.

Dokážem to s porozumením zoznamu, ale chcel by som pochopiť, či to môžem urobiť pomocou metódy aplikácie DataFrame. Tu je model hračiek:

a=pd.DataFrame({"a":[1,1,1,0,0,1],"b":[1,0,1,0,0,1]})
[a[a[name]==1].index for name in a.columns]

Pravdepodobne to je len kvôli mojej plytkejznalosť pandy, ale keď použijem metódu použitia, predstavujem si sériu ako zoznam alebo tak koniec, preto nemám žiadnu predstavu o tom, ako dať atribút indexu.

odpovede:

1 pre odpoveď č. 1

Nie ste si istí, aký je váš koncový cieľ, ale často je lepšie udržať rámec ako rámec pre budúce operácie.

In [1]:  a=pd.DataFrame({"a":[1,1,1,0,0,1],"b":[1,0,1,0,0,1]})

Premenujte prvky, o ktoré nemáte záujem, nan

In [2]: a.where(a==1)
Out[2]:
a   b
0   1   1
1   1 NaN
2   1   1
3 NaN NaN
4 NaN NaN
5   1   1

[6 rows x 2 columns]

Ak naozaj chcete index

In [4]: a.where(a==1)["a"].dropna().index
Out[4]: Int64Index([0, 1, 2, 5], dtype="int64")

In [5]: a.where(a==1)["b"].dropna().index
Out[5]: Int64Index([0, 2, 5], dtype="int64")