python数据分析之DataFrame的数据抽取
pandas的数据抽取主要采用.loc和.iloc来取出自己需要的某行和某列的数据1.介绍.loc和.ilocdf.loc[ ]:主要是通过列名和行名来抽取数据,当只有一个参数时,默认是行名,即抽取这一行的数据。df.iloc[ ]:主要是通过行索引和列索引来抽取数据,当只有一个参数时,默认为取某一行的数据。df.iat[ ]:主要是定为dataframe中的某一个数据,如df.iat[2,2],
·
pandas的数据抽取主要采用.loc和.iloc来取出自己需要的某行和某列的数据
1.介绍.loc和.iloc
df.loc[ ]:主要是通过列名和行名来抽取数据,当只有一个参数时,默认是行名,即抽取这一行的数据。
df.iloc[ ]:主要是通过行索引和列索引来抽取数据,当只有一个参数时,默认为取某一行的数据。
df.iat[ ]:主要是定为dataframe中的某一个数据,如df.iat[2,2],定位的为(3,3)的数据。
2.对行数据的抽取
初始化数据:
#pandas之数据抽取
import pandas as pd
pd.set_option('display.unicode.east_asian_width',True)
data=[[120,98,89],[105,89,59],[110,120,100],[95,119]]
index_name=['小红','小兰','小吕','小白']
columns=['数学','物理','英语']
df=pd.DataFrame(data,index=index_name,columns=columns)
print(df)
对行数据的抽取:
#抽取单行数据
print(df.iloc[0])#抽取第一行的数据
#抽取多行
print(df.loc[['小红','小兰']])#抽取小红和小兰的数据
print(df.iloc[[0,1]])#同上
#连续抽取多个学生的考试信息
print(df.loc["小兰":"小白"])#抽取[小红,小兰]两边都包括
print(df.loc[:"小白"])#从开始到小白的信息
print(df.iloc[0:4])#抽取从第1到第4的信息[0,1,2,3]不包括4
print(df.iloc[1::])#抽取第2个到最后一个的信息
2.对列数据的抽取
可以直接通过列名抽取,也可以通过.loc和.iloc来抽取
#取列的信息
print(df["数学"])#取一列
print(df[["数学","物理"]])#取多列
#使用iloc与loc获取指定列
print(df.loc[:,["数学","物理"]])#抽取数学和物理两列成绩
print(df.iloc[:,[0,1]])#抽取第一和第二列成绩
print(df.loc[:,"数学":])#抽取数学即以后的列
print(df.iloc[:,:2])#抽取从第一列到第二列的数据[0:3)
3.对行和列数据的抽取
就是组合行列的编码
#抽取指定行和指定列的数据
print(df.loc["小吕","数学"])#抽取小吕的数学成绩,只输出一个数
print(df.loc[["小吕"],["数学"]])#这里会以dataframe的形式输出小吕的数学成绩
print(df.iloc[[1],[2]])#第2行第三列的数据
print(df.iloc[1:,[2]])#第二行到最后一行的第三列数据
print(df.iloc[1:,[0,2]])#抽取第二行到最后一行的第一列和第三列的数据
print(df.iloc[:,2])#获取第三列的所有数据
4.按照大于,小于,等于等条件抽取数据
这里可以不仅可以添加大于小于号,还可以组合逻辑运算符:异或非,根据自己的需求添加。
#按照指定条件抽取数据
print(df.loc[(df["数学"]>105)&(df["物理"]>100)])#输出数学高于100,且物理高于100的同学
更多推荐
已为社区贡献22条内容
所有评论(0)