以数据df为例
import pandas as pd;
import numpy as np;
date = pd.date_range('20140729', periods=6)
df = pd.DataFrame(np.random.randn(6,4), index=date, columns=list('ABCD'))
df
A B C D
2014-07-29 0.913085 -0.027667 -1.107801 -0.698135
2014-07-30 0.068590 0.944504 -0.252881 -0.185220
2014-07-31 0.595034 1.470397 -0.772974 -0.650600
2014-08-01 0.076430 -1.318042 0.755506 -0.493169
2014-08-02 0.408931 -1.378303 0.445602 -1.985114
2014-08-03 -1.776738 -0.186865 1.758688 0.503762
DataFrame基础查看命令
命令 | 作用 |
---|---|
df = DataFrame() | 创建DataFrame对象 |
df.dtypes | 查看各行的数据格式 |
df.head() | 查看前几行的数据,默认前5行 |
df.tail() | 查看后几行的数据,默认后5行 |
df.index | 查看索引 |
df.columns | 查看列名 |
df.values | 查看数据值 |
df.describe | 描述性统计 |
df.T | 转置 |
df.sort(columns = ‘’) | 按列名进行排序 |
df.sort_index(by=[‘’,’’]) | 多列排序,使用时报该函数已过时,请用sort_values |
df.sort_values(by=[”,”]) | 同上 |
df.iloc[k] | 查看第k+1行的数据 |
Data.Frame的选择命令
命令 | 作用 |
---|---|
df[‘A’] | 显示列名下的数据 |
df[1:3] | 获取1-3行的数据,该操作叫切片操作,获取行数据 |
df.loc[:,[‘A’,’B’]] | 选择A,B列所有行,注:loc通过标签选择数据,iloc通过位置选择数据 |
loc[[‘2014-07-29’,’2014-07-30’],[‘A’,’B’]] | 选取’2014-07-29’和’2014-07-30的A,B列 |
df[‘C’].drop_duplicates() | 剔除重复行数据 |
df[df.A>0] | 使用条件来选择,df的A列大于0的值 |
Data.Frame的缺失值处理命令
在pandas中,使用np.nan来代替缺失值,这些值将默认不会包含在计算中。
命令 | 作用 |
---|---|
reindex() | 用来对指定轴上的索引进行改变/增加/删除操作,这将返回原始数据的一个拷贝。即用index=[]表示对index进行操作,columns表对列进行操作。 |
df.fillna(value=x) | 对缺失值进行填充,表示用值为x的数来对缺失值进行填充 |
df.dropna(how=’any’) | 去掉包含缺失值的行 |
isnull | 返还逻辑值,类似R的is.na |
notnull | isnull的否定式 |
比较详细的基础操作博文:
http://www.jianshu.com/p/682c24aef525