pandas note

import pandas as pd

####### Series 一维数据/列数据 定长的有序字典
s = pd.Series(data, index=index) 
      data = np.random.randn(5)  # 一维数据
      ind = list("abcde")       #  index 行索引
      s = pd.Series(data, index=ind) 

s.unipue()  # 去重
s.order()   # Series排序

######## DataFrame 数据表
pd.DataFrame(data,index = ind,columns = col) # (二维数据,index 行索引, columns 列索引)
      data = np.random.randn(6,4)  #  二维数据
      ind = [1,2,3,4,5,6]       #  index 行索引
      col = list("abcd")        #  columns 列索引
      df = pd.DataFrame(data,index = ind,columns = col)

查看
df.head(3) / df.tail(3)          # 查看frame中头部和尾部的行
df.index / df.columns           # 显示索引、列和底层的numpy数据
df.values                   # 显示底层的numpy数据
df["a"] = df.a         # 列标签可以直接当作df的属性

运算
df.describe()              # 对数据的快速统计汇总 (如每一列的元素个数,均值,最大最小值等)
df.T                       # 对数据的转置

df.apply(f)           # Apply函数  讲函数应用于行/列
  f = lambda x : x.max() - x.min()
  df.apply(f)             # 应用于每列 (默认为列计算)
  df.apply(f, axis = 1)   # 应用于每行

df.drop(["a","b"])             # 删除行
df.drop(["aa","bb"],axis=1)    # 删除列

排序
df.sort_index()                              # 按照rowID进行排序,默认升序
df.sore_index(axis=1,ascending=False)               # 按照columnID进行排序,设定为降序
df.sort_values(by='a')                         # 以 a 列数据进行排序
df.sort_values(by=['A','B'],ascending=[True, False],inplace=True)  # 以列数据进行排序 ,inplace设定为True, 即改变原数组
df.rename(index = reind, columns = recol)   # 重命名索引

选择数据
df.loc(rowIDs,colIDs)     # 行列的交叉部分,通过索引名来指定行列号(如 "a" "b" ..), 可以用切片
df.iloc(rowIDs,colIDs)    #  行列的交叉部分,通过索引值来指定行列号(如 0 1 2 3...), 可以用切片
df[df["a"]>0]          #  使用一个单独列的值来选择数据(布尔索引)
df["a"].isin([1.1, 3.2])   # 返回符合条件的行(过滤)
df.isnull() / df.notnull()  # 判断NaN

df['Ohio']   # 索引, 相当于选择列
df[:2]       # 切片, 针对行
df.ix[:2,:2]  # 切片, 行列的交叉区

统计方法
count    非 NA 值的数量
describe   针对 Series 或 DF 的列计算汇总统计
min , max  最小值和最大值
argmin , argmax  最小值和最大值的索引位置(整数)
idxmin , idxmax  最小值和最大值的索引值
quantile  样本分位数(0 到 1)
sum   求和
mean   均值
median  中位数
mad    根据均值计算平均绝对离差
var   方差
std   标准差
skew   样本值的偏度(三阶矩)
kurt   样本值的峰度(四阶矩)
cumsum   样本值的累计和
cummin , cummax   样本值的累计最大值和累计最小值
cumprod    样本值的累计积
diff    计算一阶差分(对时间序列很有用)
pct_change   计算百分数变化


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值