分享在數據分析過程中最常使用的Python函數和方法
我們知道Pandas是Python中最廣泛使用的數據分析和操作庫。它提供了許多功能和方法,可以快速解決數據分析中數據處理問題。
為了更好的掌握Python函數的使用方法,我以客戶流失數據集為例,分享在數據分析過程中最常使用的函數和方法。
數據如下所示:
importnumpyasnp
importpandasaspd
df=pd.read_csv("Churn_Modelling.csv")
print(df.shape)
df.columns
結果輸出:
(10000,14)
Index(['RowNumber','CustomerId','Surname','CreditScore','Geography','Gender','Age','Tenure','Balance','NumOfProducts','HasCrCard','IsActiveMember','EstimatedSalary','Exited'],dtype='object')
1.刪除列
df.drop(['RowNumber','CustomerId','Surname','CreditScore'],axis=1,inplace=True)
print(df[:2])
print(df.shape)
結果輸出:
說明:「axis」參數設置為1以放置列,0設置為行。「inplace=True」參數設置為True以保存更改。我們減了4列,因此列數從14個減少到10列。
GeographyGenderAgeTenureBalanceNumOfProductsHasCrCard\
0FranceFemale4220.011
IsActiveMemberEstimatedSalaryExited
01101348.881
(10000,10)
2.選擇特定列
我們從csv文件中讀取部分列數據。可以使用usecols參數。
df_spec=pd.read_csv("Churn_Modelling.csv",usecols=['Gender','Age','Tenure','Balance'])
df_spec.head()
3.nrows
可以使用nrows參數,創建了一個包含csv文件前5000行的數據幀。還可以使用skiprows參數從文件末尾選擇行。Skiprows=5000表示我們將在讀取csv文件時跳過前5000行。
df_partial=pd.read_csv("Churn_Modelling.csv",nrows=5000)
print(df_partial.shape)
4.樣品
創建數據框后,我們可能需要一個小樣本來測試數據。我們可以使用n或frac參數來確定樣本大小。
df=pd.read_csv("Churn_Modelling.csv",usecols=['Gender','Age','Tenure','Balance'])
df_sample=df.sample(n=1000)
df_sample2=df.sample(frac=0.1)
5.檢查缺失值
isna函數確定數據幀中缺失的值。通過將isna與sum函數一起使用,我們可以看到每列中缺失值的數量。
df.isna().sum()
6.使用loc和iloc添加缺失值
使用loc和iloc添加缺失值,兩者區別如下:
·loc:選擇帶標簽
·iloc:選擇索引
我們首先創建20個隨機索引進行選擇:
missing_index=np.random.randint(10000,size=20)
我們將使用loc將某些值更改為np.nan(缺失值)。
df.loc[missing_index,['Balance','Geography']]=np.nan
"Balance"和"Geography"列中缺少20個值。讓我們用iloc做另一個示例。
df.iloc[missing_index,-1]=np.nan
7.填充缺失值
fillna函數用于填充缺失的值。它提供了許多選項。我們可以使用特定值、聚合函數(例如均值)或上一個或下一個值。
avg=df['Balance'].mean()
df['Balance'].fillna(value=avg,inplace=True)
fillna函數的方法參數可用于根據列中的上一個或下一個值(例如方法="ffill")填充缺失值。它可以對順序數據(例如時間序列)非常有用。
8.刪除缺失值
處理缺失值的另一個方法是刪除它們。以下代碼將刪除具有任何缺失值的行。
df.dropna(axis=0,how='any',inplace=True)
9.根據條件選擇行
在某些情況下,我們需要適合某些條件的觀測值(即行)。
france_churn=df[(df.Geography=='France')&(df.Exited==1)]
france_churn.Geography.value_counts()
10.用查詢描述條件
查詢函數提供了一種更靈活的傳遞條件的方法。我們可以用字符串來描述它們。
df2=df.query('80000 df2=df.query('80000 df2=df.query('80000 11.用isin描述條件 條件可能有多個值。在這種情況下,最好使用isin方法,而不是單獨編寫值。 df[df['Tenure'].isin([4,6,9,10])][:3] 12.Groupby函數 PandasGroupby函數是一個多功能且易于使用的功能,可幫助獲取數據概述。它使瀏覽數據集和揭示變量之間的基本關系更加容易。 我們將做幾個組比函數的示例。讓我們從簡單的開始。以下代碼將基于Geography、Gender組合對行進行分組,然后給出每個組的平均流。 df[['Geography','Gender','Exited']].groupby(['Geography','Gender']).mean() 13.Groupby與聚合函數結合 agg函數允許在組上應用多個聚合函數,函數的列表作為參數傳遞。 df[['Geography','Gender','Exited']].groupby(['Geography','Gender']).agg(['mean','count']) 以上內容為大家介紹了數據分析過程中最常使用的Python函數和方法,希望對大家有所幫助,如果想要了解更多Python相關知識,請關注IT培訓機構:千鋒教育。http://www.mobiletrain.org/

猜你喜歡LIKE
相關推薦HOT
更多>>
python中的filter函數功能是什么?
python中的filter函數功能是什么?在python中,面對眾多的數據,我們要過濾篩選出我們需要的數據。python中的filter函數就是起到了過濾篩選的作...詳情>>
2023-11-10 20:37:27
pythontime模塊是什么
pythontime模塊是什么在python中使用時間,就免不了和time模塊打交道,另外兩個模塊這個暫時先不做介紹。做time模塊的使用上,我們可以用它來對...詳情>>
2023-11-10 15:53:16
python是什么編程語言
python是什么編程語言1、說明是一種面向對象、解釋型計算機程序設計語言,由GuidovanRossum于1989年底發明,第一個公開發行版發行于1991年。Pyt...詳情>>
2023-11-10 15:21:05
python異常處理的兩種技巧
python異常處理的兩種技巧1、傳遞異常有時我們會在捕捉到一個異常后重新引發它(傳遞異常),實現起來很簡單,使用不帶參數的raise語句即可。deff...詳情>>
2023-11-10 14:49:39熱門推薦
python中的filter函數功能是什么?
沸python delattr函數如何使用?
熱python中pdb模塊怎么用?
熱Python如何截圖保存?
新python?中缺少module怎么辦?
python strftime和strptime的不同分析
python time.strptime的格式化
python中@contextmanager是什么?
python對象的三要素是什么
pythonGIL在Python多線程的應用
python如何對多個CSV文件進行讀取
pythonif嵌套命令如何理解?
python對列表進行永久性或臨時排序的方法
python生成器調用方法引發異常
技術干貨






