亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

實戰 | 快速上手Pandas

發布時間:2020-06-08 12:14:18 來源:網絡 閱讀:509 作者:覃秉豐 欄目:編程語言

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)

實戰 | 快速上手Pandas

數據的列分別為:公園名字,公園在哪個州,公園大小,維度,經度

獲取單行數據

使用.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']]

實戰 | 快速上手Pandas

iloc加上行索引

df.iloc[[2, 1, 0]]

實戰 | 快速上手Pandas

獲取數據分片

# 獲取前3行數據
df[:3]

實戰 | 快速上手Pandas

# 獲取后3行數據
df[-3:]

實戰 | 快速上手Pandas

獲取單列數據
獲得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 "<ipython-input-66-49beb60e7bae>", line 1
????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]

實戰 | 快速上手Pandas

選擇數據的子集
選擇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']

實戰 | 快速上手Pandas

更復雜一些的數據提取,獲取緯度大于60或者面積大于10^6的數據的前三行

df[(df.latitude > 60) | (df.acres > 10**6)].head(3)

實戰 | 快速上手Pandas

對park_name中的字符以空格做切分,切分后放入lambda x: len(x) == 3函數中做判斷,如果判斷正確返回True,判斷錯誤返回False

df[df['park_name'].str.split().apply(lambda x: len(x) == 3)].head(3)

實戰 | 快速上手Pandas

state中的數字為['WA', 'OR', 'CA']中的一個則為True,否則為False

df[df.state.isin(['WA', 'OR', 'CA'])].head()

實戰 | 快速上手Pandas

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

正镶白旗| 阳高县| 尉氏县| 怀化市| 荔浦县| 阜阳市| 日喀则市| 大邑县| 鸡西市| 班玛县| 临安市| 乐平市| 大荔县| 建湖县| 南平市| 田阳县| 兰州市| 额济纳旗| 监利县| 西昌市| 贞丰县| 普安县| 屏山县| 沅江市| 开平市| 德化县| 金寨县| 镇赉县| 姜堰市| 中阳县| 子洲县| 永丰县| 都兰县| 昌邑市| 常熟市| 红安县| 尼玛县| 杭锦旗| 内江市| 彝良县| 敦煌市|