pandas数据过滤,loc,iloc,条件选择,pandas常用函数

import pandas as pd
import numpy as np
# 形成dataframe数据
t1 = pd.DataFrame(np.arange(16).reshape(4, 4), index=list('abcd'), columns=list('wxyz'))
#
t1

loc

wxyz
a0123
b4567
c891011
d12131415
# 搜索 索引是a的行
t1.loc["a"]
w    0
x    1
y    2
z    3
Name: a, dtype: int32
# 获取 索引是a到b的数据
t1.loc["a":"b"]
wxyz
a0123
b4567
# 获取 索引是a到d的数据,每间隔2个取数,所以取不到d行
t1.loc["a":"d":2]
wxyz
a0123
c891011
# 获取 索引是a 列名是z的数据
t1.loc["a","z"]
3
# 获取 索引是a-c行数据,和x到z列的数据
t1.loc["a":"c","x":"z"]
xyz
a123
b567
c91011

iloc

# 获取 行下标是0的数据
t1.iloc[0]
w    0
x    1
y    2
z    3
Name: a, dtype: int32
# 获取 第0-2行数据,不包含下标是2的数据,也就只能获取2行
t1.iloc[0:2]
wxyz
a0123
b4567
# 获取列下标是0的列数据
t1.iloc[:,0]
a     0
b     4
c     8
d    12
Name: w, dtype: int32
# 获取列名是 w的列数据
t1["w"]
a     0
b     4
c     8
d    12
Name: w, dtype: int32
# 获取列下标0-2列的数据
t1.iloc[:,0:2]
wx
a01
b45
c89
d1213
# 获取 行下标是1-2, 列下标 0-2列的数据
t1.iloc[1:2:,0:2]
wx
b45

filter

# 获取列名是x和y的列
t1.filter(items=["x", "y"])
xy
a12
b56
c910
d1314

数据过滤

# 数据过滤,  以t1['w']列>5为条件,获取2行数据
t1[t1['w'] > 5]
wxyz
c891011
d12131415
# 选择t1['w']>5的行,并只保留"x"和'z'两列
t1.loc[t1['w'] >= 5, ["x", 'z']]
xz
c911
d1315
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值