[PYTHON] Data Science 100 Knock ~ Kampf um weniger als Anfänger Teil4

Dies ist ein Kampfbericht über das Klopfen von 100 Eiern, ohne das Ei des Datenwissenschaftlers zu kennen. Es ist ein Rätsel, ob ich das Rennen beenden kann. ~~ Auch wenn es unterwegs verschwindet, denken Sie bitte, dass es Qiita nicht gegeben wird. ~~

100 Klopfartikel 100 Knock Guide

** Sei vorsichtig, wenn du es versuchst, da es Spoiler enthält **

Ich schreibe hier Gudaguda, weil ich ungefähr eine Seite verdiene, um das Verderben zu verhindern ()

Ich habe es auf dem Weg satt, also habe ich den Inhalt von Docker ausgegraben.

Das ist schwer zu sehen! Diese Schreibweise ist gefährlich! Wenn Sie Fragen haben, lassen Sie es mich bitte wissen. ~~ Ich werde es als Nahrung verwenden, während mein Herz geschädigt wird.

Diesmal von 23 bis 28. [Letztes Mal] 19-22 [Zum ersten Mal mit Inhaltsverzeichnis]

23 ..

mine23.py


df=df_receipt
df=df.groupby('store_cd').agg({'amount':'sum','quantity':'sum'}).reset_index()
df.head(10)

Ja, plötzlich kam eine neue Schreibweise. Auf der Referenzseite scheint es, dass es für die Datenaggregation verwendet werden kann.

Selbst in Excel kann die gleiche Summe, min, max, verstanden werden, aber der Durchschnitt des Schreibens ist unbeabsichtigt …… Ich habe es nicht benutzt, seit ich von std oder einem Prüfling betreut wurde, aber ich frage mich, ob es von nun an erledigt wird ...

min ': Mindestwert 'max': Maximalwert 'Mittelwert': Durchschnittswert 'Median': Median 'std': Standardabweichung

Auch ist es auf den ersten Blick schwer zu verstehen

df.groupby('A').agg({'B': ['min', 'max'], 'C': 'sum'})

In dem Teil von gibt es eine Möglichkeit, das Maximum und Minimum von "B" für jedes "A" zu schreiben. Wenn Sie jedoch so schreiben, wird eine Hierarchie erstellt. ~~ Das Nachschlagewerk sagt, dass es praktisch ist, aber das ist sehr ärgerlich ~~

Beiseite

yodan.py


df=df_receipt
df=df.groupby('customer_id').agg({'sales_ymd':['max','min']})

df['sales_ymd']#'sales_ymd'Index verschwindet'max''min'Zeile wird projiziert

df['sales_ymd'][['max']]#'max'Projektion nur in Spalten

Es ist sehr ärgerlich, dies tun zu müssen, wenn Sie sich auf die Hierarchie beziehen möchten Ich hatte mit 23-27 zu kämpfen, deshalb werde ich es vorerst veröffentlichen

24. und 25 ..

mine24.py


df=df_receipt
df.groupby('customer_id').agg({'sales_ymd':'max'}).reset_index().head(10)

Es ist die maximale Version von 23 (oder besser gesagt, ich habe dies beiseite geschrieben)

mine25.py


'''Musterantwort'''
df_receipt.groupby('customer_id').agg({'sales_ymd':'min'}).head(10)

Dies ist eine vorbildliche Antwort. Die vorbildliche Antwort war leise, weil es viele einfache Dinge gab, die ich ohne Konserven in letzter Zeit nicht verstehen konnte.

26 ..

P-026: Finden Sie das neueste Verkaufsdatum (sales_ymd) und das älteste Verkaufsdatum für jede Kunden-ID (customer_id) im Datenrahmen für Belegdetails (df_receipt) und zeigen Sie 10 verschiedene Daten an.

mine26.py


df=df_receipt
df=df.groupby('customer_id').agg({'sales_ymd':['max','min']}).reset_index()
df=df[df['sales_ymd']['max'] != df['sales_ymd']['min']]
df.head(10)

'''Musterantwort'''
df_tmp = df_receipt.groupby('customer_id').agg({'sales_ymd':['max','min']}).reset_index()
df_tmp.columns = ["_".join(pair) for pair in df_tmp.columns]
df_tmp.query('sales_ymd_max != sales_ymd_min').head(10)

Was ist die zweite Zeile dieser Modellantwort ... Ich verstehe, dass die Hierarchie gelöscht wird.

Das Ergebnis meiner Ausgabe ist

customer_id sales_ymd
max min

Während es so aussieht

customer_id_ sales_ymd_max sales_ymd_min

Ich verstehe, dass es so schön aussieht ~~, aber schließlich ist die Hierarchie ein Hindernis ~~

27. und 28 ..

mine27.py


df=df_receipt
df=df.groupby('store_cd').agg({'amount':['mean']}).reset_index()
df.columns=['store_id','amount_mean']
df=df.sort_values('amount_mean',ascending= False)
df.head(5)

'''Musterantwort'''
df_receipt.groupby('store_cd').agg({'amount':'mean'}).reset_index().sort_values('amount', ascending=False).head(5)

mine28.py


df=df_receipt
df=df.groupby('store_cd').agg({'amount':['median']}).reset_index()
df.columns=['store_id','amount_median']
df=df.sort_values('amount_median',ascending= False)
df.head(5)

'''Musterantwort'''
df_receipt.groupby('store_cd').agg({'amount':'median'}).reset_index().sort_values('amount', ascending=False).head(5)

27 und 28 sind sortiert. Es ist ein Geheimnis, dass ich ~~ ave ~~ geschrieben habe Bis zu diesem Zeitpunkt befand es sich auf der Referenzseite, sodass es bis zu einem gewissen Grad reibungslos verlief. Das Problem ist das nächste Mal.

Bis hierher für diese Zeit

Das nächste Mal wird die Gewalt der Mathematik den Schriftsteller angreifen, der in Nummer IIB moosig war! ~~ Mock Test? Ich habe Punkte durch Programmieren verdient! ~~

Recommended Posts

Data Science 100 Knock ~ Kampf um weniger als Anfänger Teil3
Data Science 100 Knock ~ Kampf um weniger als Anfänger Teil6
Data Science 100 Knock ~ Kampf um weniger als Anfänger Teil2
Data Science 100 Knock ~ Kampf um weniger als Anfänger Teil9
Data Science 100 Knock ~ Kampf um weniger als Anfänger Teil7
Data Science 100 Knock ~ Kampf um weniger als Anfänger Teil4
Data Science 100 Knock ~ Kampf um weniger als Anfänger Teil11
Data Science 100 Knock ~ Kampf um weniger als Anfänger Teil5
Data Science 100 Knock ~ Kampf um weniger als Anfänger Teil10
Data Science 100 Knock ~ Kampf um weniger als Anfänger Teil8
Data Science 100 Klopfkommentar (P021 ~ 040)
Data Science 100 Klopfkommentar (P041 ~ 060)
Data Science 100 Klopfkommentar (P081 ~ 100)
"Data Science 100 Knock (Strukturierte Datenverarbeitung)" Python-007 Erläuterung
"Data Science 100 Knock (Strukturierte Datenverarbeitung)" Python-006 Erläuterung
"Data Science 100 Knock (Strukturierte Datenverarbeitung)" Python-001 Erläuterung
Erkennung von Zeitreihendatenanomalien für Anfänger
"Data Science 100 Knock (Strukturierte Datenverarbeitung)" Python-002 Erläuterung
[Python] 100 Schläge auf Data Science (strukturierte Datenverarbeitung) 021 Erläuterung
"Data Science 100 Knock (Strukturierte Datenverarbeitung)" Python-005 Erläuterung
"Data Science 100 Knock (Strukturierte Datenverarbeitung)" Python-004 Erläuterung
[Python] 100 Schläge auf Data Science (strukturierte Datenverarbeitung) 020 Erläuterung
[Python] 100 Schläge auf Data Science (strukturierte Datenverarbeitung) 025 Erläuterung
"Data Science 100 Knock (Strukturierte Datenverarbeitung)" Python-003 Erläuterung
[Python] 100 Schläge auf Data Science (strukturierte Datenverarbeitung) 019 Erläuterung
[Praktisch für Anfänger] Lesen Sie zaggles "Predicting Home Prices" Zeile für Zeile (Teil 1: Lesen von Daten)
[Linux-Befehl] Liste weniger Befehlsoptionen [Muss für Anfänger sein]
Verwendung von Datenanalysetools für Anfänger
Vorbereitung zum Versuch "Data Science 100 Knock (Strukturierte Datenverarbeitung)"
Umgebungskonstruktion (Windows 10) für 100 Schläge Data Science (strukturierte Datenverarbeitung)
Pandas-Grundlagen für Anfänger ② Übersicht über die Daten