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

import pandas as pd
ab = 'abcdefghij'
list1=list(ab.upper())
ad = 'abcdefghijklmnopqrstuvwxyz'
index1=[i+j for i in ad for j in ad][:20]
#print(index1)
data = pd.DataFrame([[j for j in range(i, 10 + i)] for i in range(20)], columns=list1, index=index1)
data
#取固定行/列/值及按条件筛选
# 取索引为 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])]
 #行切片
# 取前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']
#列切片
# 取前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']
#行列组合切片,取前10行的前5列
data.iloc[:10, :5]

pandas--DataFrame--数据切片/筛选/取值_第1张图片

你可能感兴趣的:(pandas,python,数据分析)