本文目錄一覽:
python數據分析幹什麼
第一、檢查數據表
Python中使用shape函數來查看數據表的維度,也就是行數以及列數。你可以使用info函數來查看數據表的整體信息,使用dtype函數來返回數據格式;lsnull是Python中檢驗空值的函數,可以對整個數據表進行檢查,也可以單獨對某一行進行空值檢查,返回的結構是邏輯值,包含空值返回true,不包含則返回false。
第二、數據清洗
Python可以進行數據清洗,Python中處理空值的方法比較靈活,可以使用Dropna函數用來刪除數據表中包含空值的數據,也可以使用fillna函數對空值進行填充;Python中dtype是查看數據格式的函數,與之對應的是astype函數,用來更改數據格式,Rename是更改列名稱的函數,drop_duplicates函數刪除重複值,replace函數實現數據替換。
第三、數據提取
進行數據提取時,主要使用三個函數:loc、iloc以及ix。Loc函數按標籤進行提取,iloc按位置進行提取,ix可以同時按照標籤和位置進行提取。除了按標籤和位置提取數據之外,還可以按照具體的條件進行提取,比如使用loc和isin兩個函數配合使用。
第四、數據篩選
Python數據分析還可以進行數據篩選,Python中使用loc函數配合篩選條件來完成篩選功能,配合sum和count函數還能實現Excel中sumif和countif函數的功能。使用的主要函數是groupby和pivot_table;groupby是進行分類匯總的函數,使用方法比較簡單,groupby按列名稱出現的順序進行分組。
python–pandas刪除
drop 方法是pandas中刪除行或列的方法。
根據 索引名 刪除目標行。
當需要根據索引位置刪除時,可以使用 index 屬性來組合完成。
根據 列名 刪除目標列,同時需要設置 axis=1 或者 columns 。
當需要根據列位置刪除時,可以使用 columns 屬性來組合完成。
刪除列也可以用關鍵字 del 實現,每次只能刪除一列,且刪除列後,原數據發生改變。
同時刪除行和列,需要為行使用 index 參數,為列使用 columns 參數。
當數據框有多重索引時,刪除行時,需要設置 level 參數。
多重索引數據框同時刪除行和列時,只能刪除第一層索引和列。
dropna 為刪除缺失值的方法。
默認會刪除包含缺失值的所有行。
可設置 how , thresh , subset 參數控制刪除的行為。
設置參數 axis=1 或者 axis=columns 刪除缺失列。
同樣,可以設置 how , thresh , subset 參數來控制刪除缺失列的行為。
刪除重複值用 drop_duplicates 方法實現。
設置 subset 參數,根據列刪除重複行。
設置 ignore_index=True 可以對刪除重複行後的數據索引重排序。
python數據分析使用的數據
1、對數據進行排序df.sort_values()
#讀取數據
titanic_survival=pd.read_csv(r”C:Userspythonwandata_minepython_pandas itanic_train.csv”)
#用sort_values()函數對指定列排序,默認升序排序,inplace=True表示在原來的df上排序titanic_survival.sort_values((“Age”),inplace=Tru
2、缺失值判斷及統計pandas.isnull()、pandas.isnull
空值統計方法一:df.isnull().sum():
#當不指定具體列時,統計整個df的缺失值個數
titanic_survival[‘Age’].isnull().sum()
通過len()函數統計缺失值
3、缺失值處理
處理缺失值可以分為兩類:刪除缺失值和缺失值插補。而缺失值插補又分為以下幾種:
均值/中位數/眾數插補
使用固定值(將缺失值的屬性用一個常量代替)
最近鄰插補(在記錄中找到與缺失值樣本最接近的樣本的該屬性插補)
回歸方法(對帶有缺失值的變數,根據已有數據和與其有關的其他變數建立擬合模型來預測缺失值)
插值法(利用已知點建立合適的插值函數f(x),未知值由對應點xi求出來近似代替)
下面,我們主要討論刪除缺失值,學習一些pandas缺失值刪除的操作。
1)df.dropna(),捨棄含有任意缺失值的行
#等價於titanic_survival.dropna(axis=0) axis=0表示刪除行,axis=1表示刪除列
dropall=titanic_survival.dropna()
刪除含任意空值的行
2)df.dropna()函數刪除某個列中含有空值的行
現在這個數據中age、cabin、embarked都有缺失值,如果我們直接使用df.dropna()會刪除掉這三列中都有空值的所有行,但是我們希望只刪除age列中有空值的數據,那該如何處理呢?
直接使用df.dropna(subset=[‘column_list’])
drop_age_null=titanic_survival.dropna(subset=[“Age”])
刪除指定列中含有缺失值的行
pandas自定義函數
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/312897.html