[PYTHON] [Zur Aufnahme] Pandas Memorandum

Dieses Mal werde ich die Ereignisse zusammenfassen, die ich bei der Verwendung von Pandas nicht sofort verstanden habe. Wie betreibe ich Pandas? Ich verliere mich oft und hoffe, dass es so hilfreich wie möglich ist.

Erstellen Sie ein zu verwendendes Dataset

python



index = ['Produkt A.', 'Produkt B.', 'Produkt C.']
columns = ['Frühling', 'Sommer-', 'Herbst', 'Winter']
data = np.array([
    [0,10,20,30],
    [0,0,100,20],
    [50,100,20,40],
])

df = pd.DataFrame(data, index=index, columns=columns)
df.head()
Frühling Sommer- Herbst Winter
Produkt A. 0 10 20 30
Produkt B. 0 0 100 20
Produkt C. 50 100 20 40

Fall (1) Extrahieren und fügen Sie die Spaltennamen hinzu, die den Maximal- und Minimalwerten jeder Zeile entsprechen, sowie deren Werte.

python


for index, row in df.iterrows():
    
#     df.ix[index, 'Verkaufssaison'] = row.argmax()
    df.ix[index, 'Verkaufssaison'] = row.idxmax() #Sie können beides tun

#     df.ix[index, 'Saison, wenn nicht verkauft'] = row.argmin()
    df.ix[index, 'Saison, wenn nicht verkauft'] = row.idxmin() #Sie können beides tun
    
    df.ix[index, 'MAX'] = row.max()
    df.ix[index, 'MIN'] = row.min()

df.head()
Frühling Sommer- Herbst Winter Verkaufssaison Saison, wenn nicht verkauft MAX MIN
Produkt A. 0 10 20 30 Winter Frühling 30 0
Produkt B. 0 0 100 20 Herbst Frühling 100 0
Produkt C. 50 100 20 40 Sommer- Herbst 100 20

Fall (2) Extrahieren Sie den Spaltennamen, der die erste positive Ganzzahl in jeder Zeile ist, und fügen Sie ihn hinzu

―― Mit anderen Worten, ich möchte die Saison veröffentlichen, in der jedes Produkt zum ersten Mal verkauft wird. A ist Sommer, B ist Herbst

python


for index, row in df.iterrows():
#index[0]Nehmen Sie den ersten heraus, der die Bedingungen erfüllt
    df.ix[index, 'Saison, um mit dem Verkauf zu beginnen'] = row[row > 0].index[0] 
    
df.head()
Frühling Sommer- Herbst Winter Saison, um mit dem Verkauf zu beginnen
Produkt A. 0 10 20 30 Sommer-
Produkt B. 0 0 100 20 Herbst
Produkt C. 50 100 20 40 Frühling

Fall ③ Ich möchte eine Zeile extrahieren, die keine 0 enthält

―― Mit anderen Worten, ich möchte die Produktlinie C extrahieren, die das ganze Jahr über verkauft wird.

python


#not_zero_df = df.query('Frühling>0 und Sommer>0 und Herbst>0 und Winter> 0')
#not_zero_df = df.query('Frühling!=0 und Sommer!=0 und Herbst!=0 und Winter!= 0')

#↑ Es ist okay, aber es kann als Variable draußen sein. Unten "@Einfach hinzufügen
hoge1,hoge2,hoge3,hoge4 = 0,0,0,0 
not_zero_df = df.query('Frühling> @hoge1 und Sommer> @hoge2 und herbst> @hoge3 und winter> @hoge4')
    
not_zero_df.head()
Frühling Sommer- Herbst Winter
Produkt C. 50 100 20 40

―― Übrigens, wenn Sie Nicht-Null extrahieren möchten, indem Sie sich nur auf den Sommer konzentrieren, können Sie auch so schreiben (Zeilen extrahieren, bei denen der Sommer nicht 0 ist)

python


hoge = 0 
not_zero_df = df.query('Sommer-!= @hoge')
    
not_zero_df.head()
Frühling Sommer- Herbst Winter
Produkt A. 0 10 20 30
Produkt C. 50 100 20 30

** Wir werden es nach Bedarf weiter hinzufügen **

Recommended Posts

[Zur Aufnahme] Pandas Memorandum
Memorandum of Pandas
Pandas Memorandum
Pandas Operations Memorandum
Freecad Memorandum (für mich)
Memorandum (Pseudo-Vlookup von Pandas)
Memorandum für mich lernen w
Memorandum @ Python ODER Seminar: Pandas
100 Pandas klopfen für Python-Anfänger
Linux Command Memorandum [für Anfänger]
Pandas Grundlagen für Anfänger ① Lesen & Verarbeiten
Pandas / DataFrame-Tipps für den praktischen Gebrauch
Entwicklungsmemorandum ~ Pandas, Prognose, Datenstruktur ~
Pandas Grundlagen für Anfänger ⑧ Ziffernverarbeitung
Pandas
Pandas Basics Summary Link für Anfänger
Für Pandas-Benutzer ist es einfach, SQL zu üben
Vorsichtsmaßnahmen bei Verwendung der for-Anweisung in Pandas
Memorandum zur Erstellung von TFRecord-Dateien zur Objekterkennung
Tipps zum Zeichnen mehrerer Linien mit Pandas
Pandas des Anfängers, vom Anfänger, für den Anfänger [Python]
Häufig verwendetes Syntaxmemorandum für jede Sprache
Best Practices für den Umgang mit Daten mit Pandas
Ein Memorandum of Method, das häufig bei der Analyse von Daten mit Pandas verwendet wird (für Anfänger)