Beim maschinellen Lernen nach Vorverarbeitung der Daten mit einer Hypothese Spielst du mit den Daten? Spielst du damit Ich denke, es gibt eine Phase, Zu dieser Zeit ist es frei, Pandas frei zu manipulieren Ich denke es wird wichtig sein.
Ich selbst habe ein wenig Programmiererfahrung und Datenbankkenntnisse,
*** pandas DataFrame [] ← Das ist zu kompliziert! !! *** ***
Insbesondere ist es schwierig, durch Bedingungen einzugrenzen.
train[train["company_id"] == 1088]["meter_reading"]
Es ist an dieser Stelle verwirrend, aber wenn es train_weather_df ist, wird es ruiniert.
train_weather_df[train_weather_df[“company_id”]==1088][“meter_readings”]
Wenn zwei Bedingungen vorliegen, passieren außerdem beängstigendere Dinge ...
Also etwas etwas kompliziertes zu tun, Ich denke, es ist besser, ***. Query () *** zu verwenden.
train.query(qry)["meter_reading"]
Nach der Eingrenzung denke ich, dass es so etwas wie den Versuch gibt, diese "Gruppe 1" zur Analyse zu machen. Beachten Sie, dass Sie beim Abrufen mit der Abfragemethode keine direkte Zuweisung vornehmen können.
×××× train.query(qry )["group"] = 1
*** kann nicht sein !! ***
Es ist zu dieser Zeit ein kleiner Umweg, aber ich denke, das Folgende ist wahrscheinlich besser.
qry = 'company_id == 1088 & meter_reading > 20000'
target_idx = train.query(qry).index
train["group"].loc(target_idx) = 1
Die Lesbarkeit ist nicht so schlecht und vor allem
train.loc(target_idx)
Damit finde ich es gut zu bestätigen, ob es gut zusammengedrückt ist.
Es scheint jedoch, dass es Einschränkungen für die Zeichen gibt, die in die Abfrage eingegeben werden können. Das könnte eines Tages ein Problem sein.
Das Abfragebeispiel auf dieser Site ist übrigens hilfreich. https://ohke.hateblo.jp/entry/2019/01/12/230000 (Engine = Python usw.)
tmp_q = "name_ns == @t_name & year == @t_year "
Artikel, auf die verwiesen wird https://qiita.com/kurumen-b/items/45b60299f0893a537f2a https://qiita.com/mwmsnn/items/6a464865759231aa888d
Weitere Hinweise Bei den jüngsten Pandas scheint es nicht empfehlenswert zu sein, wie iloc zu schreiben, nachdem die Spalten eingegrenzt wurden. Diese Notation scheint wichtiger zu sein. Wenn Sie zwischen Zeilennummern, Spaltennummern, Zeilenbeschriftungen und Spaltennamen hin und her wechseln möchten, siehe unten https://note.nkmk.me/python-pandas-get-loc-row-column-num/