数据分析

数据查询分析

1.1数据的建立

# coding:utf-8                        # 编码申请
import pandas as pd                  # 导入pandas工具包,pd可以理解为给工具包起的别名
from pandas import DataFrame         # 表示pandas中要导入的类
data = {'ID':['000001','000002','000003','000004','000005','000006','000007'],
       'name':['黎明', '赵怡春','张富平','白丽', '牛玉德', '姚华',  '李南'],
       'gender':[True,  False,   True,    False,  True,    False,   True],
       'age':[16,20,18,18,17,18,16],
       'height':[1.88,1.78,1.81,1.86,1.74,1.75,1.76]}

# 变量不用加引号,字符需要加引号

frame = pd.DataFrame(data)  

# 包中的类用.表示,括号里面可以理解为参数,即表示根据什么数据来生成DataFrame

# frame = pd.DataFrame(data,index=[6,5,4,3,2,1,0])

# index参数可以改变索引号
print(frame)

 

1.2数据的选择

# 显示所有学生姓名

print(frame['name'])

print(frame.name)

# 显示多个列

print(frame[['name','age']])

# frame后面的[]只能放一个变量,需要再次使用方括号将两字段括起来

# 行的显示

print(frame[0:1])

# 这里的数字并非索引号,而是按序得到的行号

print(frame[2:4])

print(frame[2:7:2]) # 每2个取一个

# 行列选择

# 两者谁在前谁在后效果一样

print(frame['name'][1:2])

print(frame[1:2]['name'])

# 利用特殊函数loc读取

# 索引号为1的第二行
print(frame.loc[1])

# 通过冒号选择连续的多行,loc中,下界要算
print(frame.loc[1:3])

# 通过逗号选择多个不连续的行
print(frame.loc[[1,3]])       # 里面[]括起来一个列表,外面[]表示loc函数的参数

# frame[]与frame.loc[]区别

# frame[]里面是序号,frame.loc[]里面参数是索引号

# frame = pd.DataFrame(data,index=[101,102,103,104,105,106,107])
print(frame[0:1])
print(frame[101:103])

print(frame.loc[0:1])
print(frame.loc[101:103])

 # 利用loc读取列 逗号前:行  逗号后:列

print(frame.loc[:,['name']])

print(frame.loc[:,['name','age']])

 # 选择任意单元格

print(frame.loc[105:106,['age','height']])

 # iloc函数使用

# iloc函数,根据序号来访问行和列

print(frame.iloc[1,3]) # 表示第2行 第4列

# 根据区间的选择方法

print(frame.iloc[1:2,0:3])

# 任意选择

print(frame.iloc[[3,1],[0,2]]) # 表示第4和第2行 同时第1和第3列

 # 依据条件选择行

# 获取年龄大于17岁的学生姓名
print(frame[frame['age']>17]) # 选择行的方法是在方括号里表达一个列的比较条件

# 年龄大于17岁并且身高大于1.80
print(frame[ (frame['age']>17) & (frame['height']>1.80) ] )

# 对于布尔类型条件,判断是否等于真假需要使用==
print(frame[ (frame['age']>17) & (frame['gender']==True) ] )

# 使用isin表示一个离散的范围
print(frame[frame['age'].isin([20,16])])  # 所有年龄在20或者16的学生信息

# 条件选择任意组合
print(frame['name'][[2,3]][(frame['height']>1.80)])

# 查询身高大于1.80的男生姓名
print(frame['name'][(frame['height']>1.80)&(frame['gender']==True)])



 

1.3数据的显示

1.4数据的更新

1.5数据的排序

1.6案例分析

上一篇:ALB Ingress 发布!轻松应对云原生应用流量管理


下一篇:组合数据类型