生成数据表
import numpy as np
import pandas as pd
#导入数据
df=pd.DataFrame(pd.read_csv('name.csv',header=1))
里面有很多可选参数设置,例如列名称,索引列,数据格式等
数据表检查
1.数据维度
df.shape
2.数据表信息
df.info
3.查看数据格式
df.dtypes
4.查看空值
df.isnull()
也可查看特定列的空值
5.查看唯一值
df['city'].unique()
6.查看数据表数值
df.values
7.查看列名称
df.colums
8.查看前10行数据
df.head(10)
9.查看后10行数据
df.tail(10)
数据表清洗
1.处理空值(删除或填充)
#删除表中含有空值的行
df.dropna(how='any')
#使用数字0进行填充
df.fillna(value=0)
#使用均值进行填充
df['price'].fillna(df['price'].mean())
2.清理空格
字符串的空格也是数据清洗中一个常见的问题
df['city']=df['city'].map(str.strip)
3.大小写转换
df['city']=df['city'].str.lower()
4.更改数据格式
df['price'].astype('int')
5.更改列名称
df.rename(columns={'city':'citys'})
6.删除重复值
df['city'].drop_duplicates()
7.数值修改及替换
df['city'].replace('sh','shanghai')
数据预处理
1.数据表合并
df_inner=pd.merge(df,df1,how='inner')
df_left
df_right
df_outer
2.设置索引列
df.set_index('id')
3.排序(按索引,按数值)
#按特定列的值排序
df.sort_values(by=]'age'])
#按索引列排序
df.sort_index()
4.数据分组
python中使用where函数用来对数据进行判断和分组
df['group']=np.where(df['price']>3000,'high','low')
对多个字段的值进行判断后对数据进行分组
df.loc[(df['city']=='beijing')&(df['price']>4000),'sign']=1
5.数据分列
在python中使用split函数实现分列。
数据提取
1.按标签提取(loc)
df.loc[3] #按索引
2.按位置提取(iloc)
df.iloc[:3,:2]
3.按标签和位置提取(ix)
df.ix[3,:4]
4.按条件提取
df.loc(df['city'].isin(['beijing','shanghai']))
数据筛选
& 与
| 或
!= 非
还有一种筛选的方式是用query函数
df.query(‘city'==['beijing','shanghai'])
对筛选后的price字段进行求和
df.query(‘city'==['beijing','shanghai']).price.sum()
数据汇总
1.分类汇总
df.groupby('city').count()
还可以对汇总后的数据同时按多个维度进行计算
df.groupby('city')['price'].agg([len,np.sum,np.mean])
2.数据透视
pd.pivot_table()
数据统计
1.数据采样
df.sample(n=3)
2.统计描述
df.describe()
3.相关性分析
df['price'].corr(df['m-point'])