重慶分公司,新征程啟航
為企業提供網站建設、域名注冊、服務器等服務
為企業提供網站建設、域名注冊、服務器等服務
pandas是python數據分析中非常常用的一個模塊,pandas中功能較多學起來有一定難度,本片文章通過一些簡單例子帶大家快速上手pandas。
我們要用的森林植被的數據,文件名為parks.csv。
首先先載入pandas:
import pandas as pd
然后用pandas讀入數據,把公園編號'Park Code'設置為index
df = pd.read_csv('parks.csv', index_col=['Park Code'])
# 顯示出前5行
df.head(5)
數據的列分別為:公園名字,公園在哪個州,公園大小,維度,經度
獲取單行數據:
使用.iloc?加上行索引獲取單行數據
df.iloc[2]
Park Name ???Badlands National Park
State ???????????????????????????SD
Acres ???????????????????????242756
Latitude ?????????????????????43.75
Longitude ???????????????????-102.5
Name: BADL, dtype: object
使用?.loc?方法加上index的名稱獲取單行數據
df.loc['BADL']?
Park Name ???Badlands National Park
State ???????????????????????????SD
Acres ???????????????????????242756
Latitude ?????????????????????43.75
Longitude ???????????????????-102.5
Name: BADL, dtype: object
獲取多行數據:
loc加上多行數據的名稱
df.loc[['BADL', 'ARCH', 'ACAD']]
iloc加上行索引
df.iloc[[2, 1, 0]]
獲取數據分片
# 獲取前3行數據
df[:3]
# 獲取后3行數據
df[-3:]
獲取單列數據
獲得State這一列數據的前3行
df['State'].head(3)
Park Code
ACAD ???ME
ARCH ???UT
BADL ???SD
Name: State, dtype: object
使用下面df.State方法可以獲得同樣效果
df.State.head(3)
Park Code
ACAD ???ME
ARCH ???UT
BADL ???SD
Name: State, dtype: object
df.Park Code?將會出錯,因為Park Code中間有空格
df.Park Code
File "
????df.Park Code
???????????????^
SyntaxError:?invalid syntax
我們可以把所有列的名稱中的空格都替換成_
避免出錯
df.columns = [col.replace(' ', '_').lower() for col in df.columns]
print(df.columns)p=msno.bar(diabetes_data)
Index(['park_name', 'state', 'acres', 'latitude', 'longitude'], dtype='object')
獲取多列數據
columns = ['state', 'acres']
df[columns][:3]
選擇數據的子集
選擇state=='UT'的數據,False表示條件該行條件不成立,True表示該行條件成立
?(df.state == 'UT').head()
Park Code
ACAD ???False
ARCH ????True
BADL ???False
BIBE ???False
BISC ???False
Name: state, dtype: bool
選擇所有state=='UT'結果為True的行
df[df.state == 'UT']
更復雜一些的數據提取,獲取緯度大于60或者面積大于10^6的數據的前三行
df[(df.latitude > 60) | (df.acres > 10**6)].head(3)
對park_name中的字符以空格做切分,切分后放入lambda x: len(x) == 3函數中做判斷,如果判斷正確返回True,判斷錯誤返回False
df[df['park_name'].str.split().apply(lambda x: len(x) == 3)].head(3)
state中的數字為['WA', 'OR', 'CA']中的一個則為True,否則為False
df[df.state.isin(['WA', 'OR', 'CA'])].head()
另外有需要云服務器可以了解下創新互聯scvps.cn,海內外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業上云的綜合解決方案,具有“安全穩定、簡單易用、服務可用性高、性價比高”等特點與優勢,專為企業上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。