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
df.columns
df.head() #默认前10行数据 df.tail() #默认后10 行数据
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)
df['prince'].fillna(df['prince'].mean())
df['city']=df['city'].map(str.strip)
df['city']=df['city'].str.lower()
df['price'].astype('int')
df.rename(columns={'category': 'category-size'})
df['city'].drop_duplicates()
df['city'].drop_duplicates(keep='last')
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]})
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') #并集
df_inner.set_index('id')
df_inner.sort_values(by=['age'])
df_inner.sort_index()
df_inner['group'] = np.where(df_inner['price'] > 3000,'high','low')
df_inner.loc[(df_inner['city'] == 'beijing') & (df_inner['price'] >= 4000), 'sign']=1
pd.DataFrame((x.split('-') for x in df_inner['category']),index=df_inner.index,columns=['category','size']))
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]
df_inner.iloc[0:5]
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号之前,前四列数据
df_inner['city'].isin(['beijing'])
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])
df_inner.loc[(df_inner['age'] > 25) & (df_inner['city'] == 'beijing'), ['id','city','age','category','gender']]
df_inner.loc[(df_inner['age'] > 25) | (df_inner['city'] == 'beijing'), ['id','city','age','category','gender']] .sort(['age'])
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"]')
Les fonctions principales sont groupby et pivot_table
1 Comptez et résumez toutes les colonnes df_inner.query('city == ["beijing", "shanghai"]').price.sum()
df_inner.groupby('city').count()
df_inner.groupby('city')['id'].count()
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)
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表示转置
df_inner['price'].std()
df_inner['price'].cov(df_inner['m-point'])
df_inner.cov()
df_inner['price'].corr(df_inner['m-point']) #相关系数在-1到1之间,接近1为正相关,接近-1为负相关,0为不相关
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!