Maison  >  Article  >  développement back-end  >  Le résumé le plus complet de l'utilisation des pandas Python

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

爱喝马黛茶的安东尼
爱喝马黛茶的安东尼avant
2019-08-03 17:57:4315459parcourir

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

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'))

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'])

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

1. Vue des dimensions :

df.shape

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

df.info()

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

df.dtypes

4. Le format d'une certaine colonne :

df['B'].dtype

Valeur nulle :

df.isnull()

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

df.isnull()

7. Afficher la valeur unique d'une colonne :

df['B'].unique()

8. Afficher la valeur de la table de données :

df.values

9. Affichez le nom de la colonne :

df.columns

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 行数据

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)

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

df['prince'].fillna(df['prince'].mean())

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

df['city']=df['city'].map(str.strip)

4. Conversion de casse :

df['city']=df['city'].str.lower()

5. format :

df['price'].astype('int')

6. Changer le nom de la colonne :

df.rename(columns={'category': 'category-size'})

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

df['city'].drop_duplicates()

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

df['city'].drop_duplicates(keep='last')

9. Remplacement des données :

df['city'].replace('sh', 'shanghai')

4. Prétraitement des données

df1=pd.DataFrame({"id":[1001,1002,1003,1004,1005,1006,1007,1008], 
"gender":['male','female','male','female','male','female','male','female'],
"pay":['Y','N','Y','Y','N','Y','N','Y',],
"m-point":[10,12,20,40,40,40,30,20]})

1. Fusionner les tables de données

df_inner=pd.merge(df,df1,how='inner')  # 匹配合并,交集
df_left=pd.merge(df,df1,how='left')        #
df_right=pd.merge(df,df1,how='right')
df_outer=pd.merge(df,df1,how='outer')  #并集

2. Définir les colonnes d'index

df_inner.set_index('id')

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

df_inner.sort_values(by=['age'])

4 Trier par colonne d'index :

df_inner.sort_index()

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

df_inner['group'] = np.where(df_inner['price'] > 3000,'high','low')

6 Regroupez les données qui combinent plusieurs conditions Marquez

df_inner.loc[(df_inner['city'] == 'beijing') & (df_inner['price'] >= 4000), 'sign']=1

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('-') for x in df_inner['category']),index=df_inner.index,columns=['category','size']))

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)

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]

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

df_inner.iloc[0:5]

3.
df_inner.reset_index()

4. Définissez la date comme index

df_inner=df_inner.set_index('date')

5. Extrayez toutes les données avant 4 jours

df_inner[:'2013-01-04']

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

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

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列

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号之前,前四列数据

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;])

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;])]

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])

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;]]

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;])
<.>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;])

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()

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

df_inner.query(&#39;city == ["beijing", "shanghai"]&#39;)

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()
2. >
df_inner.groupby(&#39;city&#39;).count()

3. Résumez les deux champs

df_inner.groupby(&#39;city&#39;)[&#39;id&#39;].count()

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()

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])

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

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

weights = [0, 0, 0, 0, 0.5, 0.5]
df_inner.sample(n=2, weights=weights)

4. Remplacement après échantillonnage

df_inner.sample(n=6, replace=False)

5 Statistiques descriptives du tableau de données

df_inner.sample(n=6, replace=True)

6. Calculer l'écart type de la colonne

df_inner.describe().round(2).T #round函数设置显示小数位,T表示转置

7. Calculez la covariance entre deux champs

df_inner[&#39;price&#39;].std()

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;])

Analyse de corrélation de deux champs

df_inner.cov()
<.>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为不相关

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()

2 Écrivez sur CSV

df_inner.to_excel(&#39;excel_to_python.xlsx&#39;, sheet_name=&#39;bluewhale_cc&#39;)
.

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!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer