python选取特定列 pandas iloc,loc,icol的使用详解(列切片及行切片)
df是一个dataframe,列名为A B C DA B C Ddataframe里的属性是不定的,空值默认为NA。聪明的朋友已经看出iloc和loc的不同了:loc是根据dataframe的具体标签选取列,而iloc是根据标签所在的位置,从0开始计数。","前面的":"表示选取整列,第二个示例中的的0:2表示选取第0行到第二行,这里的0:2相当于[0,2)前闭后开,2是不在范围之内的。需要注意的是,如果是df = df.loc[0:2, ['A', 'C']]或者df = df.loc[0:2, ['A', 'C']],切片之后类型依旧是dataframe,不能直接进行加减乘除等操作的,比如dataframe的一列是数学成绩,另一列为语文成绩,现在需要求两门课程的总和。可以使用df['shuxue'] + df['yuwen']来获得总分,而不能使用df.iloc[:,[2]]+df.iloc[:,[1]]或df.iloc[:,['shuxue']]+df.iloc[:,['yuwen']],这会产生错误结果。如果你想要选取某一行的数据,可以使用df.loc[[i]]或者df.iloc[[i]]。
用户评论