入门Pandas,有必要把握的技巧
总结自己常常运用的pandas操作办法:
- 创立DataFrame数据
- 检查数据相关信息
- 检查头尾文件
- 把戏取数
- 切片取数
- 常见函数运用
导入包
import pandas as pd
ipython基础教程mport numpy as np
运用技巧1apple-创立DataFrame数据
办法1:自己直接创立
df1 = pdpython培训班膏火一般多少.DataFrame({
"name":["小明","小红","小孙","王小","关宇","刘蓓","张菲"],
"age":[20,18,27,20,28,18,25],
"sex":["男","女"python下载装置教程,"男","python123渠道登录男","男app装置下载","女","python培训班膏火一般多少女"],
"score":[669,570,642,5python基础教程90,601approve,61app装置下载9,701],
"address":["北京","python123渠道登录深圳","广python123渠道登录州","武汉","深圳","广州","长沙"]
})
df1
数据如下图:
办法2:从本地文件中读取进来。现在本python编程地有一个文件:学生信息.xlsx
直接经过pd.read_excel()
读进来:
df2 = pd.read_excel("学生信息python编程.xlsx")
df2approve
能够看到作用和上面是相同的
运用技巧appearance2-数据探求
检查数据shape
shapepython是什么意思标明数据是由多少行和列组成:
df1.shape # (7,5)
检查字段特点称号
df1.columnpython保留字s
检查特点的数据类型
df1.dtypes
能够看到只需两种数据类型:int64和object
检查数据是否缺失
df1.isnull() # 假设缺失闪现为True,不然闪现False
df1.isnull().supython123渠道登录m()application # 核算缺失值的个数。一个True计数一次
作用闪现:本次数据是没有缺失值的
检查appearance数据行索引
df1.index
检查数据描绘信息
dfappreciate1.describe
检查数据核算值
核算值信息只会闪python能够做什么作业现类型为数值型的数据核算值信息:
df1.describe()
核算值的作用包括:个数count、均值mean、方差std、最值minmax、四分位数25%、中位数50%、四分之三分位数75%。
运用技巧3-检查头尾文件
经过head和tail办法python保留字能够快速检查数据的头尾文件。
head
df1.head() # 默许是查appreciate看前5行数据
df1.head(3) # 指定闪现的行数
tail
df1.tail() # 默许尾部5行apple
df1.tail(3) # 指定尾部3行数据
运用技巧4-把戏取数
从pandas的DataFrame数据框中取出咱们想要的数据,然后进行处理
取出某个字段的数据
咱们取出name这列的数据:
name = df1["name"]
name
#python能够做什么作业 作用
0 小明
1 小红
2 小孙
3 王小python能够做什么作业
4 关宇
5 刘蓓
6 张菲
Name: name, dtype: object
取出多个字段的数据
比方咱们取出name和age列的数据:
name_age = df1[["napython基础教程me","age"]]
name_age
# 作用
name age
0 小明 20
1 小红 18
2python123渠道登录 小孙 27
3 王小 20
4 关宇 28
5 刘蓓 18
6 张菲 25
依据字段类型挑选数据approve
比方,咱们想挑选字段类型为int64的数据,经过检查的字段数据类型闪现:age和score都是int64类python能够做什么作业型
1、挑选单个数据类型
# 1、挑选单个数据类型
df1.select_dtypes(include='int64')
# 作用
age score
0 20 669
1 18 570
2 27 642
3 20 590
4 28apple 601
5 18 61appstore9
6 25 701
2、一起挑选多apple个类型
df1.select_dtypes(include=['int64','object'])
# 作用
name age sex score address
0 小明 20 男 669 北京
1 小红 18 女 570 深圳
2 小孙 27 男 642 广州
3 王小 20 男 590 武汉
4 关宇 28 男 601 深圳
5 刘蓓 18 女 619 广州
6 张菲 25 女 701 长沙
由于数据中只需int64,object
,所以咱们悉数选出来了approach。
3、选appointment择打approach扫某些数据类型approve之appstore外的数据:
# 挑选除了int64类型之外的数据
# 打扫name和score字段之外的python下载装置教程数据python培训班膏火一般多少
df1.select_dtypes(exclude='int64')
# 作用
name sex address
0 小明 男 北京
1 小红 女 深圳
2 小孙 男 广州
3 王小 男 武汉
4 关宇 男 深圳
5 刘蓓 女 广州
6 张菲 女 长沙
依据数值大小取数
1、直接经过判别大小来取数:
df1[df1["age"] == 20] # 年岁等于20
df1[df1["age"] != 20] # 年岁不等于20
df1[df1["age"] >= 20] # 年岁大于等于20
2、多个python能够做什么作业判别条件连用
第一次运用上面的办法报错:关键词是ambiguous
。判别条件很让pandas混杂,改成下面的写法成功处理:
df1[(df1["age"] >= 20) & (df1["age"] < 27)]
依据字符串取数
1、经过单个条件取数
# 1、单条数据
df1[df1["name"] == "小明"]
# 作用
name age sex score address
0 小明 20 男 669 北京
2、经过多个条件取数
挑选python怎样读姓名是小明,或许年岁大于25的数据
df1[(df1["name"] == "小明") | (Pythondf1["age"] > 25)]
# 作用
name age sex score address
0 小明 20 男 669 北京
2 小孙 27 男 642 广州
4 关宇 28 男 601 深圳
3、字符串的初appstore步、完毕、包括函python123数
- str.staapplertapp装置下载swith(stringpython下载装置教程)
- str.endswith(string)
- str.contains(string)
# 1、取出以“小”开端的姓名
df1[df1["napproachame"].str.startswith("小")] # name以"小"开端
# 作用
name age sexAPP score address
0 小明 20 男 669 北京
1 小红 18 女 57python基础教程0 深圳
2 小孙 27 男 642 广州
# 以“关”开端
df1[df1["name"].str.startswith("关")]
# 作用
namepython能够做什么作业 age sex score address
4 关宇 28 男 601 深圳
# 3、以“菲”完毕
df1[df1["name"].str.endswith("菲")]
# 作用
name age sex score address
6 张菲 25 女 701 长沙
# 取出包括“小”的数据:不论小是在开端,仍是完毕都会被选出来
df1[df1["name"].str.contains("小")]
# 作用
name age sex score address
0 小明 20 男 66apple9 北京
1 小红 18 女 570 深圳
2 小孙 27 男 642 广州
3 王python培训班膏火一般多少小 20 男 590 武汉
上面的王python下载装置教程小
不是小开端,可是包括小,所以也被选出来。
4、字符串取反操作
取反符号是波澜线:~
下面的比方是:取出姓名name中不包括小的数据,只需3个人姓名中没有小字。
# 取出不包括小的数据
df1[~df1["name"].str.contains("小")]
# 效appearance果
name age sex score addappearanceress
4 关宇python123渠道登录 28 男 601 深圳
5 刘蓓 18 女 619 广州
6 张菲 25 女 701 长沙
运用技巧5-切片取数
切片是Python中存在的概念,在pandas中同样能够运用。切片中存在3个概念:start、stop、step
- start:开端索引,包括
- stop:完毕索引,不包括
- step:步长,可正可Python负;
写法为:[start:stop:step]
步长为appreciate正数
1、经过下面的3个事例阐明:开端索引默许从0开端,步长默许是1
2、指定开端索引,不指定完毕索引,标明一直取到数据完毕
df1[4:] # 从索引4开端取到完毕
# 作用
name age sex score address
4 关宇 28 男 601 深圳
5 刘蓓 18 女 619 广州
6 张菲 25 女 701 长appearance沙
3、改动步长的值
df1[0:4:2] # 改appearance动步长:每隔2个值取一行数据
# 作用
name age spython下载装置教程ex score address
0 小明 20 男 669 北京
2 小孙 27 男 642 广州
上面的比方不指定开端索引:
df1[:4:2] # 默许从0开端
4、只指定步长
df1[::2] # 从头到尾,步长为2
# 作用
name age sex score address
0 小明 20 男 669 北京
2 小孙 27 男 64app装置下载2 广州
4 关宇 28 男 601 深圳
6 张菲 25 女 701 长沙
步长为负数
1、步长为-1,python培训班膏火一般多少默许是倒序输出作用
df1[::-1] # 倒序输出
# 作用
name age sex scappstoreore aapplicationddress
6 张菲 25 女 701APP 长沙
5 刘蓓 18 女 619 广州
4 关宇 28 男 601 深圳
3 王小 20 男 5application90 武汉
2 小孙 27 男 642 广州
1 小红 18 女 570 深圳
0 小明 20 男 669 北京
2、步长为负,指定开端和间断索引,开端索引大于间断索引
df1[4:0:-1]
name age sex score address
4 关宇 28 男 601 深圳
3 王小 20 男 590 武汉
2 小孙 27 男 642 广州
1 小红 18 女 570 深圳
3、开端approach和间断索引为负数
df1[-1:-5:-1] # 毕竟一行记载索引为-1,不包括索引为-5的数据
name age sex score address
6 张菲 25 女 701 长沙appreciate
5 刘蓓 18 女 619 广州
4 关宇 28 男 601 深圳
3 王小 20 男 590 武汉
运用技巧6-常用函数
核算元素个数
许多时候咱们需求核算某个列中每个元素呈现的个数,恰当所以做词频核approach算,运用:value_counts()办法,具体事例为:
⚠️:新数据中appeardf1增加了一列:班级class,后续有作用
比方咱们想核算每个城市呈现了多少次:
# 核算中每个城市各呈现了多少次
address = df1[python培训班膏火一般多少"address"].value_counts()
apython123ddressappstore
作用主动是降序摆放的Series类型数据
索引重置
索引重置运用reset_index()
:
address_new = addressapplication.reset_indeappearancex()
address_new
还approve比方咱们想从数据中独自取出sex=”男”的数据:
fapproachale = df1[df1["sex"] == "男"]
fale
咱们观察到数据前面的索引仍是本来的,可是咱们期望的是从0开端闪现,比较符合咱们的习气:
fale_1 = fale.reset_index()
fale_1
呈现的作用中索引是我python基础教程们想要的作用,可是呈现了一列python下载装置教程新的数据,就是本来的索引构成python能够做什么作业的数据,这不是咱们想要的数据,需求去除:
fale_1 = fale.reset_index(drop=True) # 加上参数即可处理
fale_1
特点重命名
运用的是rename函数,传入columsn参数:apple
addrespython基础教程s_new = addrpython123渠道登录ess_new.rpython怎样读epython怎样读name(columns={"index":"address",
"address":"nappstoreumber"
})
address_new
groupby运用
groupby主要是结束分组核算的功用:
1、比方咱们想核算男女各自的总分
# 核算男女的总作用:sum
sex_score =app装置下载 df1.groupby("sex")["score"].sum()
sex_score
2python怎样读、求男女各自的均匀分mean
# 核算男女的均匀作用:mean
sex_python下载装置教程score = df1.groupby("sex")["score"].mean()
sex_score
3、依据男女性别sex、班级class求总分
# 先依据性别、班级求总分
sex_class = df1.groupby(["sex","class"])["scopython保留字re"].sum()
sex_class
一行代码结束上面的功用:
# 一行代码appointment结束
df1.groupby(["sex","class"])["score"].sum().reset_inappledex()
apply函数
仍是上面的df1数据集:
1、需求1:咱们想将性别中的男变成1,python123女变成0
# 1、改动:男-1,女-0
df2 =python能够做什么作业 df1.copy() # 生成一个副本
df2["sex"] = df2["sex"].apply(lambda x: 1 if x=="男" else 0) # 经过approve匿名函数处理
df2
我python是什么意思们还能够自定义一个函数来结束:
# 自定义函数
def apply_sex(x):
return 1 if x == "男" else 0
df3python下载装置教程 = df1.copy() # 生成一个副本df3
df3["sex"] = df3["sex"].apply(apply_sex) # 经过approach自定义函数处理
df3
2、还比方咱们想给每个城市的后边加上一个“市”,变成北京市、深圳市等:
# 2、给每个城apple市加上一个字:市,变成北京市、深圳市等
df4 = df1.copy()
df4["address"] = df4["address"].apply(lambda x: x + "市")
df4
总结
本文中从pandas中DataFrame数据的创立,常见数据信息的探求,再到怎么从数据框中获取到咱们指定的数据,毕竟介绍了笔者常用的处理数据的方appstore法,期望对入门或许对不熟悉pandas的朋友有所帮助。Pandas真的是非常强壮,学好之后会大大节约咱们处理数据的时刻。