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])]
来源:CSDN
作者:p1049990866
链接:https://blog.csdn.net/p1049990866/article/details/104021463