Maison > Article > développement back-end > 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.values9. Affichez le nom de la colonne :
df.columns10, 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']=17. 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 indexdf_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[:'2013-01-03',: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['city'].isin(['beijing'])11. Extrayez les trois premiers caractères et générez un tableau de données
df_inner.loc[df_inner['city'].isin(['beijing','shanghai'])]
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['age'] > 25) & (df_inner['city'] == 'beijing'), ['id','city','age','category','gender']]3. Utilisez la condition "NON" pour filtrer
df_inner.loc[(df_inner['age'] > 25) | (df_inner['city'] == 'beijing'), ['id','city','age','category','gender']] .sort(['age'])<.>4. Comptez les données filtrées par colonne de ville
df_inner.loc[(df_inner['city'] != 'beijing'), ['id','city','age','category','gender']].sort(['id'])
5. Utilisez la fonction de requête pour filtrer
df_inner.loc[(df_inner['city'] != 'beijing'), ['id','city','age','category','gender']].sort(['id']).city.count()
6. Additionnez les résultats filtrés par prince
df_inner.query('city == ["beijing", "shanghai"]')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('city == ["beijing", "shanghai"]').price.sum()
2. >
df_inner.groupby('city').count()3. Résumez les deux champs
df_inner.groupby('city')['id'].count()4 Résumez le champ de la ville et calculez respectivement le total et la moyenne du prince
df_inner.groupby(['city','size'])['id'].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('city')['price'].agg([len,np.sum, np.mean])
2. Définir manuellement le poids d'échantillonnagedf_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['price'].std()8 La covariance entre tous les champs de la table de données
df_inner['price'].cov(df_inner['m-point'])Analyse de corrélation de deux champs
df_inner.cov()<.>10. Analyse de corrélation du tableau de données
df_inner['price'].corr(df_inner['m-point']) #相关系数在-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('excel_to_python.xlsx', sheet_name='bluewhale_cc').
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!