Le résumé le plus complet de l'utilisation des pandas Python

爱喝马黛茶的安东尼
Libérer: 2019-08-03 17:57:43
avant
15450 Les gens l'ont consulté

Le résumé le plus complet de l'utilisation des pandas Python

1. Générer une table de données

1. Importez d'abord la bibliothèque pandas. Généralement, la bibliothèque numpy est utilisée. , donc importons d'abord la sauvegarde :

import numpy as np
import pandas as pd
Copier après la connexion

2. Importez un fichier CSV ou xlsx :

df = pd.DataFrame(pd.read_csv('name.csv',header=1))
df = pd.DataFrame(pd.read_excel('name.xlsx'))
Copier après la connexion

3. Utilisez des pandas pour créer une table de données :

df = pd.DataFrame({"id":[1001,1002,1003,1004,1005,1006], 
 "date":pd.date_range('20130102', periods=6),
 "city":['Beijing ', 'SH', ' guangzhou ', 'Shenzhen', 'shanghai', 'BEIJING '],
 "age":[23,44,54,32,34,32],
 "category":['100-A','100-B','110-A','110-C','210-A','130-F'],
 "price":[1200,np.nan,2133,5433,np.nan,4432]},
columns =['id','date','city','category','age','price'])
Copier après la connexion

2. Vue des informations sur la table de données

1. Vue des dimensions :

df.shape
Copier après la connexion

2. Informations de base sur la table de données (dimension, nom de colonne, format de données, espace occupé, etc.) :

df.info()
Copier après la connexion

3. Le format de chaque colonne de données :

df.dtypes
Copier après la connexion

4. Le format d'une certaine colonne :

df['B'].dtype
Copier après la connexion

Valeur nulle :

df.isnull()
Copier après la connexion
Copier après la connexion

6. Afficher la valeur nulle d'une certaine colonne :

df.isnull()
Copier après la connexion
Copier après la connexion

7. Afficher la valeur unique d'une colonne :

df['B'].unique()
Copier après la connexion

8. Afficher la valeur de la table de données : <🎜. >

df.values
Copier après la connexion

9. Affichez le nom de la colonne :

df.columns
Copier après la connexion

10, affichez les 10 premières lignes de données et les 10 dernières lignes de données :

df.head() #默认前10行数据
df.tail()    #默认后10 行数据
Copier après la connexion

Recommandations associées : "

Tutoriel vidéo Python"

3. Nettoyage de la table de données

1. Remplissez les valeurs vides avec le numéro 0 :

df.fillna(value=0)
Copier après la connexion

2. Remplissez NA avec la moyenne de la colonne prince :

df[&#39;prince&#39;].fillna(df[&#39;prince&#39;].mean())
Copier après la connexion

3. Effacez les espaces de caractères dans le champ de la ville :

df[&#39;city&#39;]=df[&#39;city&#39;].map(str.strip)
Copier après la connexion

4. Conversion de casse :

df[&#39;city&#39;]=df[&#39;city&#39;].str.lower()
Copier après la connexion

5. format :

df[&#39;price&#39;].astype(&#39;int&#39;)
Copier après la connexion

6. Changer le nom de la colonne :

df.rename(columns={&#39;category&#39;: &#39;category-size&#39;})
Copier après la connexion

7. Après suppression Valeurs en double qui apparaissent :

df[&#39;city&#39;].drop_duplicates()
Copier après la connexion

8. Supprimez la valeur en double qui apparaît en premier :

df[&#39;city&#39;].drop_duplicates(keep=&#39;last&#39;)
Copier après la connexion

9. Remplacement des données :

df[&#39;city&#39;].replace(&#39;sh&#39;, &#39;shanghai&#39;)
Copier après la connexion

4. Prétraitement des données

df1=pd.DataFrame({"id":[1001,1002,1003,1004,1005,1006,1007,1008], 
"gender":[&#39;male&#39;,&#39;female&#39;,&#39;male&#39;,&#39;female&#39;,&#39;male&#39;,&#39;female&#39;,&#39;male&#39;,&#39;female&#39;],
"pay":[&#39;Y&#39;,&#39;N&#39;,&#39;Y&#39;,&#39;Y&#39;,&#39;N&#39;,&#39;Y&#39;,&#39;N&#39;,&#39;Y&#39;,],
"m-point":[10,12,20,40,40,40,30,20]})
Copier après la connexion

1. Fusionner les tables de données

df_inner=pd.merge(df,df1,how=&#39;inner&#39;)  # 匹配合并,交集
df_left=pd.merge(df,df1,how=&#39;left&#39;)        #
df_right=pd.merge(df,df1,how=&#39;right&#39;)
df_outer=pd.merge(df,df1,how=&#39;outer&#39;)  #并集
Copier après la connexion

2. Définir les colonnes d'index

df_inner.set_index(&#39;id&#39;)
Copier après la connexion

3. Trier par la valeur d'une colonne spécifique :

df_inner.sort_values(by=[&#39;age&#39;])
Copier après la connexion

4 Trier par colonne d'index :

df_inner.sort_index()
Copier après la connexion

5. La colonne est >3000, la colonne du groupe affiche haut, sinon elle affiche bas :

df_inner[&#39;group&#39;] = np.where(df_inner[&#39;price&#39;] > 3000,&#39;high&#39;,&#39;low&#39;)
Copier après la connexion

6 Regroupez les données qui combinent plusieurs conditions Marquez

df_inner.loc[(df_inner[&#39;city&#39;] == &#39;beijing&#39;) & (df_inner[&#39;price&#39;] >= 4000), &#39;sign&#39;]=1
Copier après la connexion

7. en colonnes et créez une table de données. La valeur d'index est la colonne d'index de df_inner. Les noms de colonnes sont catégorie et taille

pd.DataFrame((x.split(&#39;-&#39;) for x in df_inner[&#39;category&#39;]),index=df_inner.index,columns=[&#39;category&#39;,&#39;size&#39;]))
Copier après la connexion

8. Elle sera complétée par la table de données divisée avec la table de données df_inner d'origine.

df_inner=pd.merge(df_inner,split,right_index=True, left_index=True)
Copier après la connexion

5. Extraction des données

Les trois fonctions principales utilisées : loc, iloc et ix, loc La fonction extrait par valeur d'étiquette, iloc extrait par position et ix. peut extraire par étiquette et par position en même temps.

1. Extrayez la valeur d'une seule ligne par index

df_inner.loc[3]
Copier après la connexion

2. Extrayez la valeur d'une ligne de région par index

df_inner.iloc[0:5]
Copier après la connexion

3.
df_inner.reset_index()
Copier après la connexion

4. Définissez la date comme index

df_inner=df_inner.set_index(&#39;date&#39;)
Copier après la connexion

5. Extrayez toutes les données avant 4 jours

df_inner[:&#39;2013-01-04&#39;]
Copier après la connexion

6. 7. Adaptez iloc individuellement par emplacement Enregistrez les données

df_inner.iloc[:3,:2] #冒号前后的数字不再是索引的标签名称,而是数据所在的位置,从0开始,前三行,前两列。
Copier après la connexion

8. Utilisez ix pour extraire les données par étiquette d'index et mélange de position

df_inner.iloc[[0,2,5],[4,5]] #提取第0、2、5行,4、5列
Copier après la connexion

9 Déterminez si la valeur de la colonne de ville est Pékin<. 🎜>

df_inner.ix[:&#39;2013-01-03&#39;,:4] #2013-01-03号之前,前四列数据
Copier après la connexion

10. Déterminez que la colonne de ville contient Pékin et Shanghai, puis extrayez les données qui remplissent les conditions

df_inner[&#39;city&#39;].isin([&#39;beijing&#39;])
Copier après la connexion

11. Extrayez les trois premiers caractères et générez un tableau de données

df_inner.loc[df_inner[&#39;city&#39;].isin([&#39;beijing&#39;,&#39;shanghai&#39;])]
Copier après la connexion

6. Filtrage des données

Utilisez les trois conditions AND, OR et NOT avec supérieur, inférieur et égal pour filtrer les données et effectuer le comptage et la sommation.

1. Utilisez "AND" pour filtrer

pd.DataFrame(category.str[:3])
Copier après la connexion

2. Utilisez "OR" pour filtrer

df_inner.loc[(df_inner[&#39;age&#39;] > 25) & (df_inner[&#39;city&#39;] == &#39;beijing&#39;), [&#39;id&#39;,&#39;city&#39;,&#39;age&#39;,&#39;category&#39;,&#39;gender&#39;]]
Copier après la connexion

3. Utilisez la condition "NON" pour filtrer

df_inner.loc[(df_inner[&#39;age&#39;] > 25) | (df_inner[&#39;city&#39;] == &#39;beijing&#39;), [&#39;id&#39;,&#39;city&#39;,&#39;age&#39;,&#39;category&#39;,&#39;gender&#39;]]
.sort([&#39;age&#39;])
Copier après la connexion
<. 🎜>4. Comptez les données filtrées par colonne de ville

df_inner.loc[(df_inner[&#39;city&#39;] != &#39;beijing&#39;), [&#39;id&#39;,&#39;city&#39;,&#39;age&#39;,&#39;category&#39;,&#39;gender&#39;]].sort([&#39;id&#39;])
Copier après la connexion

5. Utilisez la fonction de requête pour filtrer

df_inner.loc[(df_inner[&#39;city&#39;] != &#39;beijing&#39;), [&#39;id&#39;,&#39;city&#39;,&#39;age&#39;,&#39;category&#39;,&#39;gender&#39;]].sort([&#39;id&#39;]).city.count()
Copier après la connexion

6. Additionnez les résultats filtrés par prince

df_inner.query(&#39;city == ["beijing", "shanghai"]&#39;)
Copier après la connexion

7. Résumé des données

Les fonctions principales sont groupby et pivot_table

1 Comptez et résumez toutes les colonnes

df_inner.query(&#39;city == ["beijing", "shanghai"]&#39;).price.sum()
Copier après la connexion
2. >
df_inner.groupby(&#39;city&#39;).count()
Copier après la connexion

3. Résumez les deux champs

df_inner.groupby(&#39;city&#39;)[&#39;id&#39;].count()
Copier après la connexion

4 Résumez le champ de la ville et calculez respectivement le total et la moyenne du prince

df_inner.groupby([&#39;city&#39;,&#39;size&#39;])[&#39;id&#39;].count()
Copier après la connexion

8.

Échantillonnage de données, calcul de l'écart type, de la covariance et du coefficient de corrélation

1. Échantillonnage de données simple

df_inner.groupby(&#39;city&#39;)[&#39;price&#39;].agg([len,np.sum, np.mean])
Copier après la connexion

2. Définir manuellement le poids d'échantillonnage

df_inner.sample(n=3)
Copier après la connexion
3. Aucun remplacement après échantillonnage

weights = [0, 0, 0, 0, 0.5, 0.5]
df_inner.sample(n=2, weights=weights)
Copier après la connexion

4. Remplacement après échantillonnage

df_inner.sample(n=6, replace=False)
Copier après la connexion

5 Statistiques descriptives du tableau de données

df_inner.sample(n=6, replace=True)
Copier après la connexion

6. Calculer l'écart type de la colonne<🎜. >

df_inner.describe().round(2).T #round函数设置显示小数位,T表示转置
Copier après la connexion

7. Calculez la covariance entre deux champs

df_inner[&#39;price&#39;].std()
Copier après la connexion

8 La covariance entre tous les champs de la table de données

df_inner[&#39;price&#39;].cov(df_inner[&#39;m-point&#39;])
Copier après la connexion

Analyse de corrélation de deux champs

df_inner.cov()
Copier après la connexion
<. 🎜>10. Analyse de corrélation du tableau de données

df_inner[&#39;price&#39;].corr(df_inner[&#39;m-point&#39;]) #相关系数在-1到1之间,接近1为正相关,接近-1为负相关,0为不相关
Copier après la connexion

9. Sortie des données

Les données analysées peuvent être sorties au format xlsx et au format csv

1. Écrivez sur Excel

df_inner.corr()
Copier après la connexion

2 Écrivez sur CSV

df_inner.to_excel(&#39;excel_to_python.xlsx&#39;, sheet_name=&#39;bluewhale_cc&#39;)
Copier après la connexion
.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:csdn.net
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal