DataFrame整体查询
import numpy as np
import pandas as pd
数据
a_values = [
['小明','male',18,170.1,60,'北京海淀',61],
['小华','female',28,160,50,'上海静安',74],
['小红','female',22,175,64,'广州天河',59],
['小靑','male',31,182,80,'深圳南山',82],
['小兰','female',25,165,55,'杭州西湖',98],
]
a = pd.DataFrame(
a_values,
index=[1,2,3,4,5],
columns=['name','sex','age','heigh','weight','address','grade']
)
a
查询
常用属性
a.shape # 表格形状,行数 列数
a.dtypes # 列数据类型
a.index # 行索引
a.columns # 列索引
a.values # 对象值,二维ndarray数组
表格形状:几行几列
a.shape # 5行7列,0维1维
(5, 7)
列数据类型
a.dtypes
name object
sex object
age int64
heigh float64
weight int64
address object
grade int64
dtype: object
行索引
a.index
a.index.values
array([1, 2, 3, 4, 5], dtype=int64)
列索引
a.columns
Index(['name', 'sex', 'age', 'heigh', 'weight', 'address', 'grade'], dtype='object')
值
a.values
array([['小明', 'male', 18, 170.1, 60, '北京海淀', 61],
['小华', 'female', 28, 160.0, 50, '上海静安', 74],
['小红', 'female', 22, 175.0, 64, '广州天河', 59],
['小靑', 'male', 31, 182.0, 80, '深圳南山', 82],
['小兰', 'female', 25, 165.0, 55, '杭州西湖', 98]], dtype=object)
a.values[1]
array(['小华', 'female', 28, 160.0, 50, '上海静安', 74], dtype=object)
a.values[1][5]
'上海静安'
整体数据情况
- a.info() 整体信息,查看数据是否异常
- a.describe() 整体统计指标
- a.head() 前5行
- a.tail() 后5行
a
整体信息,查看数据是否异常
重要,每次数据分析前先用它查询数据问题
- 是否有缺失值
- 列数据类型是否正常
a.info()
<class 'pandas.core.frame.DataFrame'>
Int64Index: 5 entries, 1 to 5
Data columns (total 7 columns):
name 5 non-null object
sex 5 non-null object
age 5 non-null int64
heigh 5 non-null float64
weight 5 non-null int64
address 5 non-null object
grade 5 non-null int64
dtypes: float64(1), int64(3), object(3)
memory usage: 320.0+ bytes
表格快速综合统计指标
用来查看数据整体统计分布情况(兼具发现数据异常值功能)
count,计数
mean 平均值
std 标准差
四分位数
min q1,q2(中位数),q3,max
a.describe()
表头和表尾
默认输出表的最前5行或最后5行
a.head(3)
a.tail(3)
内容查询
类列表/字典/ndarray数组的查询方式
功能简陋,一般仅用于查询单列
a
查询单列
a['name']
1 小明
2 小华
3 小红
4 小靑
5 小兰
Name: name, dtype: object
查询多列
a[['name', 'address']]
查询单行
a[0:1] # 默认索引
a[2:4] # 默认索引
查询单值
# 先查行,再查列
a[3:4] # 行
a[3:4]['address'] # 列
a[3:4]['address'][4]
'深圳南山'
DataFrame原生查询方式(推荐方式)
自定义索引查询
a
# 查询单行
a.loc[4]
name 小靑
sex male
age 31
heigh 182
weight 80
address 深圳南山
grade 82
Name: 4, dtype: object
# 查询单列
a.loc[:, 'address']
1 北京海淀
2 上海静安
3 广州天河
4 深圳南山
5 杭州西湖
Name: address, dtype: object
# 查询单元格
a.loc[4, 'address']
'深圳南山'