Python学习笔记——dataframe基础常用操作

创建dataframe

 直接创建:pd.DataFrame()

import numpy as np
dates = pd.date_range('20160918',periods=6)
df =pd.DataFrame(np.random.randn(6,4), index=dates, columns=list('ABCD'))
print(dates)
print(df)

从外部导入数据

  • 常用_csv格式:pd.read_csv(" 路径 " , encoding = "gbk" 或 "utf-8")
  • excel格式:pd.read_excel(" 路径 ")

查看行列数/索引

  • df.shape
  • df.index 行索引(常用于迭代)
  • df.columns 列索引

更改行列索引

  • df.set_index('省份名称') 将'省份名称'列设为索引
  • df.reset_index(drop=True) 将索引设为"0,1,2,3…",drop=True就是把原来索引列去掉
  • df.columns=[ ]
  • df.rename 详见http://t.csdn.cn/9PYlU

取出想要的行/列/子集

  • df.head(n) 取前面n行
  • df.tail(n) 取后面n行 (可用于累乘取特定想要的数据)
  • df[['省份名称' , 'GDP']] 用列名选取想要的列(注意选取多列有两个方括号)
  • df.loc[行标签 , 列标签]
  • df.iloc[行索引 , 列索引]
  • df[( 条件1 ) & ( 条件2 )] 按多个条件筛选
    • df.列名
    • df["列名”]
  • df.query() #还不怎么会 详见http://t.csdn.cn/ZqPfe

排序

  • df.sort_values(by="列名" , ascending=True升序)
  • df.sort_values(by=["列名1","列名2"] , ascending=True升序)

统计汇总

  • df.mean(axis = 1,skipna 是否忽略缺失值= False)
  • df.describe() 计算汇总统计#均值,标准差,最小,最大值和主要分位数
  • df.cumsum() 样本值得累计和
  • df.groupby('列名') 分组计算
    • df.groupby(['列名1','列名2']).count()  分组计数
    • df.groupby(列名).apply(自定义函数)  自定义函数的参数为列表
      • 对特定的列用自定义函数.apply(lambda x: 自定义函数(x['列名']))
  • 列运算 df1['col'] + df2['col']
  • 纵向合并 concat([df1 , df2]) 详见​​​​​​​http://t.csdn.cn/OZLgE

修改

  • df = df.drop('省份名称', axis=1) 删除列
  • df = df.drop("2000") 删除行

你可能感兴趣的:(python,python,pandas,numpy)