在資料分析前,篩選出我們所需要的資料是非常必要的手段,下面簡單介紹幾種方法:
匯入資料
1#匯入pandas和numpy庫
2import
pandas as pd
3import
numpy as np
4from pandas import
series,dataframe
5 test=pd.read_excel("
/users/yaozhilin/downloads/exercise.xlsx
",sep="t"
)6 test.head(5)#
顯示前五行
•sample:簡單隨機選取
sample可以理解為隨機簡單抽樣在後續數分析和挖掘中經常用到
1 test.sample(frac=0.01,random_state=1)2#frac選取的比例3#
random_state=1中的數值代表固定資料的標識
•isin:根據字段篩選
單個字段篩選
1 test.loc[test["所屬區域
"]=="
蘇州"]
多列單個字段篩選
test.loc[(test["所屬區域"]=="蘇州")&(test["產品類別"]=="睡袋")].head(5)#需用()括起每個條件
多欄位篩選可以用isin,個人感覺isin的用法類似sql中的in
單列多欄位
1 test.loc[test["所屬區域
"].isin(["
蘇州","
崑山"])]
多列多欄位
t=test.loc[(test["所屬區域
"].isin(["
蘇州","
崑山"])&(test["
產品類別
"].isin(["
睡袋","
寵物用品
•query()方法
直接寫表示式打方式,注意:它只直接作用於該列表的行或列名。
1 qt=test.query("(所屬區域=='蘇州'|所屬區域=='崑山')&(產品類別=='睡袋'|產品類別=='寵物用品')")
注:使用query時,所有的表示式都在引號中,且字串引號與雙引號要區分(即可以一種雙引號一種單引號),且列名不需用引號(可理解為直接呼叫了列表則列名不需注釋)。
總結:
1、單獨進行或者單獨進行列過濾用test[columns篩選條件/index篩選條件]
2、同時對行和列篩選test.loc[行篩選條件,列篩選條件],但是為單字段
3、同時對行和列篩選且多字段test.loc[test["columns"].isin([" "," ")]
4、query也可以進行多欄位篩選,但主要不能引用列名和格式書寫
Dataframe 按條件選取行
我們說excel好用,在處理大型資料 的時候,excel可以非常方便地進行篩選。那麼pandas是否有類似的功能呢?答案是肯定的。下面介紹的幾個操作,返回的型別都是dataframe,因此可以進行巢狀操作,非常方便。一 選取幾列組成新的dataframe df df a列列明 s列列明 h列列明 二...
python中DataFrame資料幀的統計方法
我們把每乙個column作為乙個樣本資料集,就可以對其進行一些統計學方法的計算,比如求和sum 求平均mean 求方差var 求標準差std 求個數count 求最大值max 求最小值min,等操作。我們用以下 來進行演示 import pandas as pd dict data df data ...
DataFrame中關於object資料型別的說明
1 構造乙個dataframe 圖中,我們構造了乙個dataframe,這個dataframe有2列,第一列全部都是數值型別,第二列中既有數值型別又有布林型別。對於col1列,由於都是同一種資料型別,系統能夠辨認出來,這是一種int數值型別 int64是一種預設的資料型別 對於col2列,由於這一列...