实战 | 快速上手Pandas
admin
2023-07-14 13:24:07
0

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 "", 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

相关内容

热门资讯

特朗普:正致力于与伊朗达成协议... 特朗普在《纽约邮报》一档播客访谈节目中称,他正与伊朗磋商一项协议,伊朗已同意不再谋求拥有核武器。他表...
不接壤的日菲为何偷划海界? 日菲近日发表联合声明,宣称就“划定两国专属经济区和大陆架的海洋边界”启动正式谈判。两个隔海相望的国家...
凤凰晚报丨从钳工到老戏骨,魏宗... 今日人物【从钳工到老戏骨,魏宗万用一生诠释“戏比天大”】6月1日,表演艺术家魏宗万在上海逝世,享年8...
科威特称伊朗袭击致63人受伤 科威特卫生部门3日称,伊朗当天对科威特的袭击已造成63人受伤,相关部门已启动紧急应对预案,并在全国范...
日本标榜“和平国家”却行扩军备... 今年是东京审判开庭80周年,世界正回望历史、反思战争罪责、捍卫二战后来之不易的国际秩序之际,日本却迈...
浙江杨梅即将大规模上市,如何破... “我们现在的压力很大。”5月底,浙江余姚杨梅产区丈亭镇副镇长林宇站在一片杨梅林前对第一财经表示,当地...
致5死2伤!韩国就韩华航空航天... 【环球网报道 记者 姜蔼玲】据韩联社6月1日报道,针对位于韩国大田的韩华航空航天公司发生爆炸致7人伤...
黄河科技学院2026年招生简章 长按图片识别二维码或点击 “阅读原文” 查看电子招生简章。
医路起航,从“心” 开始!黄河... 6月1日上午,黄河科技学院附属医院2022级临床医学本科实习生入院岗前培训在大医讲堂顺利举办。院领导...
问题居然在实体卡槽上!美版iP... 6月2日消息,日前,又有博主提前把还没发布的iPhone 18 Pro电池参数给曝光了出来,根据爆料...