Ich habe das folgende DataFrame
namens Pop:
California 2000 33871648
2010 37253956
New York 2000 18976457
2010 19378102
Texas 2000 20851820
2010 25145561
Ich möchte Werte von 2010 in Kalifornien und Texas ausdrucken. Immer wenn ich pop[['California','Texas'], 2010]
versuche, erhalte ich den Fehler '(['California', 'Texas'], 2010)' is an invalid key
Wie kann ich die Informationen dann ausdrucken?
2 Antworten
TLDR
df.loc[(level_1_indices_list, level_2_indices_list), :]
Das heißt, in diesem Fall:
df.loc[(['California','Texas'], ['2010']), :]
Unten finden Sie eine ausführlichere Version.
# import packages & set seed
import numpy as np
import pandas as pd
np.random.seed(42)
Erstellen Sie einen Beispieldatenrahmen
Verwenden von den Pandas-Dokumenten:
arrays = [np.array(['bar', 'bar', 'baz', 'baz', 'foo', 'foo', 'qux', 'qux']),
np.array(['one', 'two', 'one', 'two', 'one', 'two', 'one', 'two'])]
s = pd.Series(np.random.randn(8), index=arrays)
df = pd.DataFrame(np.random.randn(8, 4), index=arrays)
Das wird so aussehen:
Schneiden mit Multiindex
Mit df
können Sie Folgendes tun:
df.loc[(['qux','foo'], 'one'), :]
Aus Gründen der Konsistenz der Notation können Sie []
für das zweite Element des Slice verwenden:
df.loc[(['qux','foo'], ['one']), :]
Was das gleiche Ergebnis ergibt.
Welches ist:
(Die Auswahl von 'one'
entspricht der Auswahl von 2010
in Ihrem df
. ['qux','foo']
sollte der Auswahl von ['California', 'Texas'] entsprechen. Basierend darauf Ich denke, Sie können die Schritte hier auf Ihre Daten anwenden.)
Dies kann ebenfalls hilfreich sein.
Ich würde so etwas mit der Angabe von Spaltennamen tun, die durch Hinzufügen weiterer &
erweitert werden können
df.loc[(df['level_0'].isin(['California', 'Texas'])) & (df['level_1'].isin(['2010']))]
Verwandte Fragen
Neue Fragen
pandas
Pandas ist eine Python-Bibliothek zur Datenmanipulation und -analyse, z. Datenrahmen, mehrdimensionale Zeitreihen und Querschnittsdatensätze, die häufig in Statistiken, experimentellen wissenschaftlichen Ergebnissen, Ökonometrie oder Finanzen zu finden sind. Pandas ist eine der wichtigsten Data Science-Bibliotheken in Python.