En machine learning, après prétraitement des données, tout en ayant une hypothèse Jouez-vous avec les données? Jouez-vous avec? Je pense qu'il y a une phase, À cette époque, comment manipuler librement les pandas est Je pense que ce sera important.
J'ai moi-même une petite expérience en programmation et une connaissance des bases de données,
*** pandas DataFrame [] ← C'est trop compliqué! !! *** ***
Surtout, il est difficile de se limiter aux conditions.
train[train["company_id"] == 1088]["meter_reading"]
C'est déroutant à ce stade, mais si c'était train_weather_df, il serait ruiné.
train_weather_df[train_weather_df[“company_id”]==1088][“meter_readings”]
De plus, lorsqu'il y a deux conditions, des choses plus effrayantes se produisent ...
Alors pour faire quelque chose d'un peu compliqué, Je pense qu'il vaut mieux utiliser ***. Query () ***.
train.query(qry)["meter_reading"]
Après avoir rétréci, je pense qu'il y a quelque chose comme essayer de faire ce "Groupe 1" pour analyse. Notez que vous ne pouvez pas attribuer directement lors de la récupération avec la méthode de requête.
×××× train.query(qry )["group"] = 1
*** ne peut pas être !! ***
C'est un peu détourné à ce moment-là, mais je pense que ce qui suit est probablement mieux.
qry = 'company_id == 1088 & meter_reading > 20000'
target_idx = train.query(qry).index
train["group"].loc(target_idx) = 1
La lisibilité n'est pas si mauvaise, et surtout
train.loc(target_idx)
Avec cela, je pense qu'il est bon de pouvoir confirmer s'il est bien pressé.
Cependant, il semble qu'il existe des restrictions sur les caractères pouvant être saisis dans la requête, Cela peut être un problème un jour.
En passant, l'exemple de requête sur ce site est utile. https://ohke.hateblo.jp/entry/2019/01/12/230000 (moteur = python, etc.)
tmp_q = "name_ns == @t_name & year == @t_year "
Articles référencés https://qiita.com/kurumen-b/items/45b60299f0893a537f2a https://qiita.com/mwmsnn/items/6a464865759231aa888d
Notes complémentaires Avec les pandas récents, il semble qu'écrire comme iloc n'est pas recommandé après avoir réduit les colonnes. Cette notation semble être plus importante. Si vous voulez aller et venir entre les numéros de ligne, les numéros de colonne, les étiquettes de ligne, les noms de colonne, voir ci-dessous https://note.nkmk.me/python-pandas-get-loc-row-column-num/
Recommended Posts