[Pour enregistrement] Mémorandum Pandas

Cette fois, je vais résumer les événements que je n'ai pas compris immédiatement lors de l'utilisation de Pandas. Comment faire fonctionner Pandas? Je me perds souvent, alors j'espère que cela sera utile autant que possible.

Créer un jeu de données à utiliser

python



index = ['Produit A', 'Produit B', 'Produit C']
columns = ['printemps', 'été', 'l'automne', 'hiver']
data = np.array([
    [0,10,20,30],
    [0,0,100,20],
    [50,100,20,40],
])

df = pd.DataFrame(data, index=index, columns=columns)
df.head()
printemps été l'automne hiver
Produit A 0 10 20 30
Produit B 0 0 100 20
Produit C 50 100 20 40

Cas (1) Extraire et ajouter les noms de colonne correspondant aux valeurs maximum et minimum de chaque ligne, et leurs valeurs.

python


for index, row in df.iterrows():
    
#     df.ix[index, 'Saison de vente'] = row.argmax()
    df.ix[index, 'Saison de vente'] = row.idxmax() #Vous pouvez faire soit

#     df.ix[index, 'Saison lorsque vous ne vendez pas'] = row.argmin()
    df.ix[index, 'Saison lorsque vous ne vendez pas'] = row.idxmin() #Vous pouvez faire soit
    
    df.ix[index, 'MAX'] = row.max()
    df.ix[index, 'MIN'] = row.min()

df.head()
printemps été l'automne hiver Saison de vente Saison lorsque vous ne vendez pas MAX MIN
Produit A 0 10 20 30 hiver printemps 30 0
Produit B 0 0 100 20 l'automne printemps 100 0
Produit C 50 100 20 40 été l'automne 100 20

Cas (2) Extraire et ajouter le nom de la colonne qui est le premier entier positif de chaque ligne

―― En d'autres termes, je veux mettre fin à la saison lorsque chaque produit commence à se vendre pour la première fois. A est l'été, B est l'automne

python


for index, row in df.iterrows():
#index[0]Retirez le premier qui remplit les conditions avec
    df.ix[index, 'Saison pour commencer à vendre'] = row[row > 0].index[0] 
    
df.head()
printemps été l'automne hiver Saison pour commencer à vendre
Produit A 0 10 20 30 été
Produit B 0 0 100 20 l'automne
Produit C 50 100 20 40 printemps

Cas ③ Je veux extraire une ligne qui ne contient aucun 0

―― En d'autres termes, je souhaite extraire la ligne de produit C qui se vend toute l'année.

python


#not_zero_df = df.query('printemps>0 et l'été>0 et l'automne>0 et hiver> 0')
#not_zero_df = df.query('printemps!=0 et l'été!=0 et l'automne!=0 et hiver!= 0')

#↑ C'est bon, mais ça peut être à l'extérieur comme variable. Au dessous de "@Il suffit d'ajouter
hoge1,hoge2,hoge3,hoge4 = 0,0,0,0 
not_zero_df = df.query('printemps> @hoge1 et été> @hoge2 et automne> @hoge3 et hiver> @hoge4')
    
not_zero_df.head()
printemps été l'automne hiver
Produit C 50 100 20 40

Au fait, si vous voulez extraire une valeur non nulle en vous concentrant uniquement sur l'été, vous pouvez également écrire comme ceci (extraire des lignes où l'été n'est pas 0)

python


hoge = 0 
not_zero_df = df.query('été!= @hoge')
    
not_zero_df.head()
printemps été l'automne hiver
Produit A 0 10 20 30
Produit C 50 100 20 30

** Nous continuerons à l'ajouter au besoin **

Recommended Posts

[Pour enregistrement] Mémorandum Pandas
Mémorandum de Pandas
mémorandum pandas
Mémorandum d'opération Pandas
Mémorandum Freecad (pour moi)
Mémorandum (pseudo Vlookup par pandas)
Mémorandum d'apprentissage pour moi w
Mémorandum @ Python OU Séminaire: Pandas
Pandas 100 coups pour les débutants en Python
Mémorandum de commande Linux [pour les débutants]
Principes de base de Pandas pour les débutants ① Lecture et traitement
Pandas / DataFrame Conseils pour une utilisation pratique
Mémorandum de développement ~ pandas, prévisions, structure de données ~
Principes de base de Pandas pour les débutants ⑧ Traitement des chiffres
Pandas
Lien récapitulatif des bases de Pandas pour les débutants
Pour que les utilisateurs de Pandas puissent pratiquer SQL facilement
Précautions lors de l'utilisation de l'instruction for dans les pandas
Mémorandum de création de fichier TFRecord pour la détection d'objets
Conseils pour tracer plusieurs lignes avec des pandas
Pandas du débutant, par le débutant, pour le débutant [Python]
Mémorandum de syntaxe fréquemment utilisé pour chaque langue
Meilleures pratiques pour manipuler les données avec les pandas
Un mémorandum de méthode souvent utilisé lors de l'analyse de données avec des pandas (pour les débutants)