**
DataFrame切片基本操作:方括号与loc小结
**
还是小白,其中多有纰漏之处,还请各位大神指教,期待码友共同学习进步!
Python学习pandas模块,DataFrame数据处理
切片基本操作,使用方括号[]与loc两个方法
学习、实验小结
a是一个7*4的DataFrame数据,作为实验对象
# a b c d
# 0 0 7 one h
# 1 1 6 one j
# 2 2 5 one k
# 3 3 4 two l
# 4 4 3 two m
# 5 5 2 two n
# 6 6 1 two o
a = pd.DataFrame(
{'a': range(7), 'b': range(7, 0, -1), 'c': ['one', 'one', 'one', 'two', 'two', 'two', 'two'], 'd': list("hjklmno")})
# 1.方括号[]方法:行数用位置,列数用标签
t1_1_1 = a[1:2] #取一行,必须切片形式且一个[],单个数字报错
t1_1_2 = a[1:3] #取连续多行,切片形式且一个[]
#取不连续多行,“有待学习!”
t1_2_1 = a['a'] #取一列,一个[],返回series
t1_2_2 = a[['a']] #取一列,两个[],返回dataframe
t1_2_3 = a[['a','c']] #取多列,必须两个[],否则报错
t1_3_1 = a[1:2]['a'] #取某行某列的值,行列依次按各自规则索引,可换顺序,加逗号或[]报错
# 2.loc方法:行数用位置,列数用标签
t2_1_1 = a.loc[1] #取一行
t2_1_2 = a.loc[1:2] #取连续多行,[]左右均为闭
t2_1_3 = a.loc[[1,3]] #取不连续多行
t2_2_1 = a.loc[:,'a'] #取一列,标签必须加:,
t2_2_2 = a.loc[:,['a','c']] #取多列,列必须再加上[],返回dataframe,否则报错
t2_3_1 = a.loc[1,'a'] #取某行某列的值,逗号隔开,列无[],返回int
t2_3_2 = a.loc[1,['a']] #取某行某列的值,逗号隔开,列有[],返回series
t2_3_3 = a.loc[1,['a','c']] #取某行的不连续某几列的值,逗号隔开,列有[],返回series;某列不连续某几行同理
t2_3_4 = a.loc[1:3,'a':'c'] #取连续某几行某几列的值,逗号隔开,列无[],返回dataframe
t2_3_5 = a.loc[1:2,['a','c']] #取连续某几行的不连续某几列的值,逗号隔开,行列都有[],返回dataframe
t2_3_6 = a.loc[[1,3],['a','c']] #取不连续的某几行某几列的值,逗号隔开,行列都有[],返回dataframe
print(t2_3_6,type(t2_3_6), sep='\n' + '*' * 50 + '\n')