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

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 ()

Dieses Mal wiederholte ich die Entgleisung und konnte nicht verstehen, was ich untersuchen wollte (Ursache ist die 30.)

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 29 bis 32. [Letztes Mal] 23-28 [Zum ersten Mal mit Inhaltsverzeichnis]

** Es gab viele Dinge, die ich diesmal nicht verstanden habe **

29

P-029: Ermitteln Sie für den Datenrahmen für Belegdetails (df_receipt) den häufigsten Wert des Produktcodes (product_cd) für jeden Geschäftscode (store_cd).

Ich wusste, dass der häufigste Wert der Modus war, aber in der Fortsetzung des letzten Males groupby(store_cd).agg({'product_cd':['mode']}) Es wird Moos sein, wenn Sie schreiben. Oder besser gesagt, es scheint nicht in Agg zu sein?

Selbst wenn ich helfe und [übliche Site] überprüfe (https://note.nkmk.me/python-pandas-mode/), funktioniert es nicht sehr gut. Warum? Artikel

Obwohl es auch auf der folgenden Site geschrieben ist, müssen Sie value_counts kombinieren und anwenden, wenn Sie den häufigsten Wert im Modus nach Gruppieren nach suchen möchten. Obwohl es auf Englisch ist, ist das Codebeispiel einfach und leicht zu verstehen. Bitte beziehen Sie sich darauf. https://github.com/pandas-dev/pandas/issues/11562 df.groupby ('grouping_content'). Ziel, das Sie am häufigsten finden möchten. Übernehmen (lambda x: x.mode ())

** ~~ Lambda …… ~~ **

mine29.py


df=df_receipt
df=df.groupby('store_cd').product_cd.apply(lambda x: x.mode()).reset_index()
df.head(5)

** Ja, ich weiß nicht **

30

P-030: Berechnen Sie für den Datenrahmen für Belegdetails (df_receipt) die Stichprobenverteilung des Verkaufsbetrags (Betrags) für jeden Geschäftscode (store_cd) und zeigen Sie den TOP5 in absteigender Reihenfolge an.

~~ Bitte raten Sie zum Zeitpunkt des kontinuierlichen Werfens von Problemsätzen ~~

Erstens bin ich in High 2 nicht gut in Mathematik, und nach mehr als 10 Jahren sterbe ich, wenn oben, unten, links und rechts vom Sigma Buchstaben und große Symbole geschrieben sind ~~ Selbst wenn ich in Excel nach Standardabweichungen frage, kopiere ich sie und füge sie ein

Das Wort "Probenverteilung", das in einer solchen Situation herauskam

** Verteilt **

Wenn etwas geschrieben ist, ist es ein weißes Auge. Kannst du nicht?

Die Standardverteilungsformel sieht so aus

variance178.png

~~ Sterben ~~ Schreiben Sie vorerst wie ein Programm, während Sie Ihre Augen cosplayen und Ihren Kopf organisieren

ikinokoru.py


def Sno2jo(X_list):

   n = len(X_list)
   X_ave = sum(X_list) / n
   ret = 0.0

   for X in range(X_list):
      ret += (X - X_ave)**2

   ret = ret / n
   return ret

Ist es so ...? (Das Array beginnt bei 0) (Der Vorgang wurde nicht bestätigt.)

** Programm kann gehen **

Danach verschiedene Site und [Video] Beim Betrachten von (https://www.youtube.com/watch?v=lD35jzfrxaU) habe ich es irgendwie verstanden, aber da es stark abwich, habe ich es aufgerundet und bin zum Klopfen zurückgekehrt.

Ich denke, es wäre diesmal einfacher, statistische Funktionen zu verwenden (dafür mache ich Python) und es zu lösen.

** Referenz **

mine30.py


df=df_receipt
df= df.groupby('store_cd').amount.var(ddof=0).reset_index().sort_values('amount',ascending=False).head(5)
df

'''Musterantwort'''
df_receipt.groupby('store_cd').amount.var(ddof=0).reset_index().sort_values('amount', ascending=False).head(5)

'''Fehlerbeispiel'''
df=pd.concat([df['store_cd'],df.groupby('store_cd').amount.var(ddof=0)],axis=0)

Im Fehlerbeispiel image.png Ich fragte mich, ob ich nicht gut kombinieren konnte, weil das Ergebnis so war. Ich dachte, es wäre alleine in Ordnung, und ich konnte selbst antworten.

Nein, es hat lange gedauert

31st

mine31.py


df=df_receipt
df= df.groupby('store_cd').amount.std(ddof=0).reset_index().sort_values('amount',ascending=False).head()
df

Durchbrechen Sie 30 wie beim Kopieren Als es "ddof = False" war, wurde mir gesagt, ich solle es an Int übergeben und auf "0" setzen. ddof ist eine Übereinstimmungsschätzung oder eine unvoreingenommene Schätzung von hier und Video. Ist es ein Mengenunterschied?

32

Ich habe die Bedeutung des Perzentilwerts nicht verstanden (obwohl ich ihn irgendwie verstanden habe), also habe ich ihn nachgeschlagen und dann die Referenzstelle nachgeschlagen (fließende Konserven).

** Referenz **

mine32.py


df=df_receipt
df['amount'].quantile([0.0,0.25,0.5,0.75,1.0])

'''Modellantwort 1'''
np.percentile(df_receipt['amount'], q=[25, 50, 75,100])

'''Modellantwort 2'''
df_receipt.amount.quantile(q=np.arange(5)/4)

Die Richtung liegt nahe an Modellantwort 2, aber ich dachte, es wäre eine gute Idee, np.arange zu verwenden.

Bis hierher für diese Zeit

Für diejenigen, die mit dieser CSV ~~ spielen wollen Speichern Sie unter \ 100 Knocks-Preprocess \ Docker \ Work Hier gibt es verschiedene CSVs

Recommended Posts

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 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 Teil1
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
Implementieren von 100 Data Science-Schlägen für Anfänger in Data Science (für Windows 10 Home)
Fordern Sie 100 Data Science-Schläge heraus
Versuchen Sie "100 Schläge auf Data Science" ①
100 Pandas klopfen für Python-Anfänger
Erkennung von Zeitreihendatenanomalien für Anfänger
[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]
[Python] 100 Schläge auf Data Science (strukturierte Datenverarbeitung) 018 Erläuterung
[Python] 100 Schläge auf Data Science (strukturierte Datenverarbeitung) 023 Erläuterung
[Python] 100 Schläge auf Data Science (strukturierte Datenverarbeitung) 030 Erläuterung
[Python] 100 Schläge auf Data Science (strukturierte Datenverarbeitung) 022 Erläuterung
Verwendung von Datenanalysetools für Anfänger
[Python] 100 Schläge auf Data Science (strukturierte Datenverarbeitung) 017 Erläuterung
[Python] 100 Schläge auf Data Science (strukturierte Datenverarbeitung) 026 Erläuterung
[Python] 100 Schläge auf Data Science (strukturierte Datenverarbeitung) 016 Erläuterung
[Python] 100 Schläge auf Data Science (strukturierte Datenverarbeitung) 024 Erläuterung
[Python] 100 Schläge auf Data Science (strukturierte Datenverarbeitung) 027 Erläuterung
Pandas-Grundlagen für Anfänger ② Übersicht über die Daten
[Python] 100 Schläge auf Data Science (strukturierte Datenverarbeitung) 029 Erläuterung
[Python] 100 Schläge auf Data Science (strukturierte Datenverarbeitung) 015 Erläuterung
[Python] 100 Schläge auf Data Science (strukturierte Datenverarbeitung) 028 Erläuterung