pandas
一、在 ipython notebook 环境下 pandas的快速入门
1.打开ipython notebook 操作
1.在windows命令窗口下输入
2.点击New,Python3
与ipython相比有优势如下:
1.一个编辑框可以轻松编写多行程序
2.如果画图图片可以直接显示在这个网页上
#图片直接画在网页上
%matplotlib inline
#导入包
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
2.处理丢失数据
1) 构造出二维的DataFrame ,其中包含一些空数据
dates=pd.date_range('20160301',periods=6)
df=pd.DataFrame(np.random.randn(6,4),index=dates,columns=list('ABCD'))
df
重新索引
df1=df.reindex(index=dates[0:4],columns=list(df.columns)+['E'])
df1
构造出二维的DataFrame,其中包含一些空数据
df1.loc[dates[1:3],'E']=2
df1
2) 删除任何缺少数据的行-返回复制的
df1.dropna()
3) 填充丢失的数据–返回复制的
df1.fillna(value=5)
4) 判断一个数据集里面是否包含有空数据
pd.isnull(df1)
数据很多时
3.数据运算
1)空数据不参与运算
2)平均值
按行求平均值
3)累加值
按列求累加值
4)广播及shift函数
对具有不同尺寸且需要对齐的对象进行操,pandas会自动沿指定尺寸广播
shift函数是对数据进行移动操作
5)将函数用于数据-apply
把一个列作为参数交给函数处理
6)直方图化
产生20个由10-20之间随机数构成的series数据结构
各个数字产生了多少个
产生最多的数字
7)字符串的处理方法
对数组的每个元素进行操作
str中的模式通常默认情况下使用正则表达式(在某些情况下始终使用正则表达式)
4.数据合并
1)SQL合并
2)插入一行
5.数据分组统计
通过A来分组,并将sum()功能应用于结果组
多列分组形成一个层次结构索引
6数据整形
创建双层索引
stack()方法压缩DataFrame列中的级别
unstack()转换回来
7.数据透视
以原数据表中A,B为行索引,C为列索引,针对D的数据
探究上面数据是怎么算出来的
8.时间序列
创建600个以秒为单位的时间序列
创建值于上面时间序列对应
以求和的方式重新采样
创建以季度为单位的时间序列
转化为时间日期得格式
9.类别数据-category
Categorical 是 pandas 0.15 版本才加入的新功能。用来表达类别数据
类别重命名
根据值来排序
10.数据可视化
11.导入、导出数据(获得数据的输入和输出)
1)CSV
写入csv文件
从csv文件中读取
从文件中读取,以第0列作为索引