Lors de la récupération de données avec Python J'utilise beaucoup les bibliothèques Pandas.
Cependant, les débutants de l'analyse des données
Ce sera une situation comme celle-là.
Dans cet article J'ai essayé de résumer les méthodes qui apparaissent fréquemment lors de l'extraction de données.
C'est l'une des bibliothèques Python pour une analyse efficace des données.
Cette fois, nous utiliserons le jeu de données "iris", disponible en standard dans seaborn.
import seaborn as sns
iris = sns.load_dataset('iris')
iris.head()
Vous pouvez obtenir des données librement en spécifiant le numéro de ligne et le numéro de colonne.
#Données dans la troisième ligne
iris.iloc[3]
#Données sur les lignes 0 et 2
iris.iloc[:3]
#3ème ligne, 1ère valeur de colonne
iris.iloc[3, 0]
#Données de la 0e à la 2e ligne et de la 2e à la 3e colonnes
iris.iloc[:3, 2:4]
iris.loc[[2,4,6],['petal_length', 'petal_width']]
Voici comment extraire des données en spécifiant des conditions.
Pour les éléments d'espèces, obtenez le nombre d'éléments dont le contenu correspond à setosa
.
len(iris[iris['species'] == 'setosa'])
Lors de l'extraction de données, si vous souhaitez affiner selon plusieurs conditions, vous pouvez le faire en ajoutant des conditions.
#et la condition est()&()Et la condition ou est()|()
iris[(iris['species'] == 'setosa') & (iris['petal_width'] > 0.5)]
Dans certains cas, vous souhaitez extraire non seulement des correspondances exactes, mais également des contenus partiellement correspondants. Dans de tels cas, les contenus suivants peuvent être utilisés.
#Recherche de correspondance partielle(Extraire uniquement ceux qui correspondent partiellement à soi)
iris[iris.species.str.contains('se')]
Au moment de l'agrégation, il est traité après avoir été converti en type DataFrameGroupBy.
iris_group = iris.groupby('species')
type(iris_group)
Le résultat de sortie est le suivant.
pandas.core.groupby.generic.DataFrameGroupBy
iris_group.mean()
L'image de sortie est la suivante.
De plus, la valeur minimale, la valeur maximale, l'écart type, etc. peuvent être calculés.
L'agrégation est également possible en fonction de plusieurs conditions.
iris_group2 = iris.groupby(['species', 'petal_width'])
iris_group2.mean()
Pour combiner des données qui ont la même structure de colonnes, utilisez la méthode append ou la méthode concat.
Cette fois, nous allons nous concentrer sur la méthode Panadas, nous allons donc la combiner avec la méthode concat.
import pandas as pd
iris_master = pd.DataFrame([['0', 'setosa'], ['1', 'versicolor'], ['2', 'virginica']], columns=['id', 'name'])
iris_master
add_iris = pd.DataFrame([['3', 'hoge']], columns=['id', 'name'])
add_iris
pd.concat([iris_master, add_iris])
Utilisez la méthode de fusion pour combiner plusieurs données avec différentes configurations de colonnes de données. (Bien qu'il soit possible de rejoindre la méthode de jointure, il est nécessaire d'indexer la colonne que vous souhaitez utiliser comme clé, ce qui est un peu gênant, donc je pense qu'il n'y a pas de problème si la méthode de fusion peut être utilisée en premier.)
Lors de la connexion, en spécifiant l'élément clé pour la participation, Joindre des lignes avec les mêmes éléments.
pd.merge(iris_group2.mean(), iris_master, left_on='species', right_on='name')
À l'avenir, nous prévoyons d'améliorer les contenus suivants.
Le contenu ci-dessus est résumé sur la base des sites suivants.
Il est expliqué plus en détail ici, donc si vous avez des questions, veuillez vous y référer.