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

Dies ist ein Kampfbericht über das Klopfen von 100 Eiern, ohne die Eier des Datenwissenschaftlers zu kennen (frisch gelegt). Es ist ein Rätsel, auch wenn Sie das Rennen beenden können. ~~ Auch wenn es unterwegs verschwindet, denken Sie bitte, dass es Qiita nicht gegeben wird. ~~

100 Klopfartikel 100 Knock Guide

Seite, die beim letzten Mal als Referenz für die Erstellung der Umgebung verwendet wurde

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

Es gab viele Schreibstile, die ich nicht kannte, und es gab viele Sprüche "Ich habe das geschrieben, aber die Antwort war das", also werde ich es anstelle eines Memos einfügen.

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.

Diese Lösung ist falsch! Diese Interpretation ist anders! Bitte kommentieren Sie, wenn Sie welche haben.

Inhaltsverzeichnis Problem
part1 1~9
part2 10~18
part3 19~22
part4 23~28
part5 29~32
part6 33~35
[part7] Nicht veröffentlicht

1

Wie erwartet kann dies geschrieben werden. Selbst wenn Sie nicht in Ihren Kopf geraten, selbst wenn Sie sich darauf vorbereiten, wird es Sie behindern, wenn Sie dies nicht schreiben können.

mine01.py


df_receipt.head(10)

2 ..

~~ Plötzlich einen Fehler machen ~~ Es war. Beim Projizieren mehrerer Spalten habe ich "[['Spalte A', 'Spalte B']]" geschrieben. Es ist ein tägliches Ereignis, einen Fehler auszulösen.

mine02.py


df_receipt[['sales_ymd','customer_id','product_cd','amount']].head(10)

3 ..

Geben Sie so schnell wie möglich eine Antwort, die sich von der Antwort unterscheidet. Ich schrieb

mine03.py


df=df_receipt[['sales_ymd','customer_id','product_cd','amount']]
df.columns=['sales_date','customer_id','product_cd','amount']
df.head(10)

Es mag dumm erscheinen, drei Zeilen für eine so einfache Sache zu verwenden, aber es geschah, weil ich es löste, während ich meinen Geist organisierte. Oder besser gesagt, ich habe weder {}} noch Python verwendet, seit ich damit angefangen habe, also wusste ich einfach nicht, wie ich umbenennen soll.

** Modellantwort ** df_receipt[['sales_ymd', 'customer_id', 'product_cd', 'amount']].rename(columns={'sales_ymd': 'sales_date'}).head(10)

4 ..

Auch hier habe ich eine andere Antwort gegeben.

mine04.py


df=df_receipt[['sales_ymd','customer_id','product_cd','amount']]
df=df[df['customer_id']=='CS018205000001']
df

Modellantwort df_receipt[['sales_ymd', 'customer_id', 'product_cd', 'amount']].query('customer_id == "CS018205000001"')

Bin ich der einzige, der Widerstand gegen den Teil empfindet, in dem "Abfrage" als Zeichenkette geschrieben ist? ~~ Zeichenkette …… WAF …… Übereinstimmung mit regulären Ausdrücken …… Der Kopf ist ~~ Selbst wenn Sie intern einen Tippfehler machen, kennen Sie bei der Eingabe des Zeichenkettentyps den Fehler nicht. Ist "Abfrage" schneller?

5 ..

mine05.py


#df=df_receipt[['sales_ymd','customer_id','product_cd','amount']]
#df=df[df['customer_id']=='CS018205000001']
df[df['amount']>=1000]

Modellantwort df_receipt[['sales_ymd', 'customer_id', 'product_cd', 'amount']] \ .query('customer_id == "CS018205000001" & amount >= 1000')

Da die Voraussetzungen mit denen des 4. identisch waren, habe ich "df" so wie es ist verwendet. Wieder lautet die Modellantwort "Abfrage". Ich dachte beim Schreiben, aber ist es ein veralteter Schreibstil wie "ix"?

Beiseite

df=df[df['customer_id']=='CS018205000001'] df[df['amount']>=1000] Verbinden Sie die beiden Leitungen von df=df[df['customer_id']=='CS018205000001'][df['amount']>=1000]

Gibt das gleiche Ergebnis, aber "/opt/conda/lib/python3.7/site-packages/ipykernel_launcher.py:2: UserWarning: Der Schlüssel der Booleschen Serie wird neu indiziert, um dem DataFrame-Index zu entsprechen." Ich werde eine Warnung geben. Ich war wütend, als ich dachte, ich könnte zu df [Bedingung 1] [Bedingung 2] gehen, weil df = df [Bedingung] df wäre.

6 ..

mine06.py


df=df_receipt[['sales_ymd','customer_id','product_cd','quantity','amount']]
df=df[df['customer_id']=='CS018205000001']
df=df[(1000<=df['amount'])|(5<=df['quantity'])]
df

Modellantwort df_receipt[['sales_ymd', 'customer_id', 'product_cd', 'quantity', 'amount']].query('customer_id == "CS018205000001" & (amount >= 1000 | quantity >=5)')

Da die Bedingungen länger werden, wird es weiter aufgeteilt. Insbesondere denke ich, dass es einfacher zu verstehen ist, wenn die UND-Bedingung geteilt ist. Wird die Antwort sinken?

7 ..

mine07.py


df=df_receipt[['sales_ymd','customer_id','product_cd','amount']]
df=df[df['customer_id']=='CS018205000001']
df=df[(1000<=df['amount'])&(df['amount']<=2000)]
df

Modellantwort df_receipt[['sales_ymd', 'customer_id', 'product_cd', 'amount']] \ .query('customer_id == "CS018205000001" & 1000 <= amount <= 2000')

Es ist attraktiv, die Zwischenbedingung in einem Wort schreiben zu können. Übrigens dachte ich von diesem Punkt an nur "Write in SQL ...".

8 ..

mine08.py


df=df_receipt[['sales_ymd','customer_id','product_cd','amount']]
df=df[df['customer_id']=='CS018205000001']
df=df[df['product_cd'] != 'P071401019']
df

Modellantwort df_receipt[['sales_ymd', 'customer_id', 'product_cd', 'amount']] \ .query('customer_id == "CS018205000001" & product_cd != "P071401019"')

Ich frage mich, ob ich die Bedingungen im Inneren unter solchen Bedingungen abschließen soll.

9 ..

mine09.py


df_store.query('prefecture_cd != "13" & not (floor_area > 900)')

Modellantwort df_store.query('prefecture_cd != "13" & floor_area <= 900')

Geben Sie schließlich nach, um ~~ abzufragen Nicht, weil es ein Problem beim Umschreiben ist. Nicht sicher, ob es notwendig war, nicht zu verwenden. Oder besser gesagt, nein.

Bis hierher für diese Zeit

Um ehrlich zu sein, war das einzige, was ich nicht herausfinden konnte, hier. Ab dem nächsten Mal werde ich versuchen, eine Figur zu schreiben, die Dinge zerquetscht, die ich nicht verstehe.

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 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
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)
Implementieren von 100 Data Science-Schlägen für Anfänger in Data Science (für Windows 10 Home)
"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