Python数据分析之Pandas学习(二)

利用python进行数据分析pandas方法总结

1.Numpy简单介绍

Python数据分析之Pandas学习(二)_第1张图片

Python数据分析之Pandas学习(二)_第2张图片

2.使用pandas产生结构化数据

Python数据分析之Pandas学习(二)_第3张图片

增加栏位信息

df.colums = ['name', 'gender', 'age']

Python数据分析之Pandas学习(二)_第4张图片

3.序列(Series)

类似Array,List的一维物件

每个Series都可以透过其索引(Index)进行存取

预设Series会以0到Series长度作为索引编号

Python数据分析之Pandas学习(二)_第5张图片

Python数据分析之Pandas学习(二)_第6张图片

4.资料筛选

根据索引来显示信息

df.ix[1] 显示第一行信息

df.ix[1:4] 显示第一行到第四行信息

 

根据栏位信息来显示信息

df['name']

df[['name', 'age']]

 

Python数据分析之Pandas学习(二)_第7张图片

使用&取条件交集

df[(df['gender'] == 'M') & (df['age'] >= 30) ]

Python数据分析之Pandas学习(二)_第8张图片

使用 | 取条件并集

df[(df['gender'] == 'M') | (df['age'] >= 30) ]

Python数据分析之Pandas学习(二)_第9张图片

新增/删除栏位

Python数据分析之Pandas学习(二)_第10张图片

注意:如果是0删除的是列,如果是1删除的是栏位

Python数据分析之Pandas学习(二)_第11张图片

新增第6行

Python数据分析之Pandas学习(二)_第12张图片

df.append(pd.DataFrame([{'age':20,'gender':'F','name':'qoo'}]))

删除第6行

df.drop(6)

设定新的索引

Python数据分析之Pandas学习(二)_第13张图片

根据位置取值

Python数据分析之Pandas学习(二)_第14张图片

根据索引取值

Python数据分析之Pandas学习(二)_第15张图片

范例:

Python数据分析之Pandas学习(二)_第16张图片

Python数据分析之Pandas学习(二)_第17张图片

缺失值:

1.数据中有特定或一个范围的值是不完全的

2.缺失值可能会导致数据分析时产生偏误的推论

3.缺失值可能来自机械的缺失或是人为的缺失

  •     机械缺失e.g.机械故障,导致数据无法被完整保存

  •     人为缺失e.g.受访者拒绝透露部分信息

范例:

Python数据分析之Pandas学习(二)_第18张图片

检查序列是否有缺失值

Python数据分析之Pandas学习(二)_第19张图片

Python数据分析之Pandas学习(二)_第20张图片

Python数据分析之Pandas学习(二)_第21张图片

检查字段或Data Frame是否含有缺失值

Python数据分析之Pandas学习(二)_第22张图片

范例:

Python数据分析之Pandas学习(二)_第23张图片.

计算缺失值的数量

Python数据分析之Pandas学习(二)_第24张图片

范例:

查看所有的缺失值

Python数据分析之Pandas学习(二)_第25张图片

查看各栏位缺失值的数量

Python数据分析之Pandas学习(二)_第26张图片

所有缺失值的总和

处理缺失值

  • 舍弃缺失值
  1. 当缺失值占数据比例很低时
  • 使用平均数、中位数、众数等叙述性统计补齐缺失值
  • 使用内插法补齐缺失值
  1. 如果字段数据成线性规律

1.舍弃缺失值

Python数据分析之Pandas学习(二)_第27张图片

范例:

Python数据分析之Pandas学习(二)_第28张图片
Python数据分析之Pandas学习(二)_第29张图片

Python数据分析之Pandas学习(二)_第30张图片

2.舍弃含有缺失值的列

Python数据分析之Pandas学习(二)_第31张图片
范例:

Python数据分析之Pandas学习(二)_第32张图片
Python数据分析之Pandas学习(二)_第33张图片
3.填补缺失值

Python数据分析之Pandas学习(二)_第34张图片

Python数据分析之Pandas学习(二)_第35张图片

Python数据分析之Pandas学习(二)_第36张图片

Python数据分析之Pandas学习(二)_第37张图片

4.向前/向后填值

Python数据分析之Pandas学习(二)_第38张图片

Python数据分析之Pandas学习(二)_第39张图片

Python数据分析之Pandas学习(二)_第40张图片

5.使用内插法填补缺失值

Python数据分析之Pandas学习(二)_第41张图片

Python数据分析之Pandas学习(二)_第42张图片

通过某种线性规律填充值

Python数据分析之Pandas学习(二)_第43张图片

查看前几行资料

df.head(3)

查看后三行资料

df.tail(3)

删除特定的某列

del df['Unamed: 0']

将‘暂无资料’变成缺失值

import numpy as

df.ix[df['物业费'] == '暂无资料','物业费'] == np.nan

df.head(3)

Python数据分析之Pandas学习(二)_第44张图片

import pandas

df = pandas.read_csv('data/xxx.csv', na_values='暂无资料',index_col=0)

df.head(3)

Python数据分析之Pandas学习(二)_第45张图片

查看DataFrame信息

df.info()

 

查看字段名称

df.columns

查看字段型态

df.dtypes

取得叙述性统计

df.describe()

Python数据分析之Pandas学习(二)_第46张图片

侦测缺失值

df.isnull()

查看字段是否包含缺失值

df.isnull().any()

统计各栏位缺失值数量

df.isnull().sum()

删除有缺失值的字段

df = df.drop('参考月供',axis = 1)

筛选字段

df['产权性质'].value_counts()

df['产权性质'] == '个人产权'

Python数据分析之Pandas学习(二)_第47张图片

根据索引取值

df.iloc[5:7]

舍弃包含缺失值的字段

df['建筑类别'].isnull().head(3)

Python数据分析之Pandas学习(二)_第48张图片

df = df.dropna(axis=1,how='all')

Python数据分析之Pandas学习(二)_第49张图片

补齐缺失值

df['物业费'] = df['物业费'].fillna(0)

Python数据分析之Pandas学习(二)_第50张图片

df[df['总价'].isnull()].sum()

2

df[df['总价'].isnull()]

Python数据分析之Pandas学习(二)_第51张图片

计算平均值

(df['总价']/df['建筑面积']).mean()

将数据写入csv中

df.to_csv('xxx.csv', index_label=False)

  • Map

将函数套用到Series上的每个元素

  • Apply

将函数套用到DataFrame上的行与列

  • ApplyMap

将函数套用到DataFrame上的每个元素(elementwise)

Python数据分析之Pandas学习(二)_第52张图片

默认 axis = 0,按列计算最高和最低差值

axis = 1,按行计算最高和最低差值

Python数据分析之Pandas学习(二)_第53张图片

Python数据分析之Pandas学习(二)_第54张图片

处理时间格式资料

打印出现在时间

from datetime import datetime

current_time = datetime.now()

将时间转换成字符串

current_time.strftime('%Y-%m-%d')

将字符串转换为时间

datetime.strptime('2018-9-11','%Y-%m-%d')

Python数据分析之Pandas学习(二)_第55张图片

你可能感兴趣的:(数据分析,pandas)