python库--pandas--DataFrame--数据切片/筛选/取值

1. 源数据

az = 'abcdefghijklmnopqrstuvwxyz'
data = pd.DataFrame([[j for j in range(i, 10 + i)] for i in range(20)], columns=list(az.upper()[:10]), index=[i+j for i in az for j in az][:20])

在这里插入图片描述

2. 切片

2.1 行切片

# 取前10行
data.head(10)
data.iloc[:10]
# 取第3-15行
data.iloc[2:15]
# 取后10行
data.tail(10)
data.iloc[-10:]
# 取奇数行
data.iloc[::2]
# 取偶数行
data.iloc[1::2]
# 取索引为af及其之后的行
data.loc['af':]
# 取索引为af及其之后的奇数行(af为第1行)
data.loc['af'::2]
# 取索引af及ai之间的行(包含边界)
data.loc['af':'ai']

2.2 列切片

# 取前5列
data.iloc[:, :5]
# 取第3-5列
data.iloc[:, 2:5]
# 取后5列
data.iloc[:, -5:]
# 取奇数列
data.iloc[:, ::2]
# 取偶数列
data.iloc[:, 1::2]
# 取索引为C及其之后的列
data.loc[:, 'C':]
# 取索引为C及其之后的奇数列(af为第1行)
data.loc[:, 'C'::2]
# 取索引C及F之间的列(包含边界)
data.loc[:, 'C':'F']

1.3 行列组合切片

# 取前10行的前5列
data.iloc[:10, :5]
...

2. 取固定行/列/值及按条件筛选

# 取索引为 aa, ae, af 的行
data.loc[['aa', 'ae', 'af']]
# 取 A, C, F 列
data[['A', 'C", 'F]]
data.loc[:, ['A', 'C', 'F']]
# 取 C 列 索引为 ae 的值
data['C']['ae']
data.loc['ae', 'C']
data.at['ae', 'C']
# 取C列值大于10的数据
data[data['C'] > 10]
data.loc[data.C > 10]
# 取ak行值大于15的列
data.loc[:, data.loc['ak'] > 15]
# 取D列值在[7, 9, 13]中的数据
data[data['D'].isin([7, 9, 13])]
  • 2
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值