• 目录

    数据结构

    数据导入和输出

    数据清洗(以df为例)

    数据统计


    数据结构

    • Series:一维序列,定长字典序列,两个属性:
      • index: 索引 默认是0,1,2... 可指定 index=['a','b'....]
      • values: x1 = Series([1,2,3,4])
    • DataFrame:二维表结构(类似数据库表)
      • data = { 'Chinese': [66, 95, 93, 90,80], 'English': [65, 85, 92, 88, 90], 'Math': [30, 98, 96, 77, 90] }
      • df = DataFrame( data, index = ['ZhangFei', 'GuanYu', 'ZhaoYun', 'HuangZhong', 'DianWei'], columns=['English', 'Math', 'Chinese'] )
  • 数据导入和输出

    • 可直接从xlsx、csv文件导入和输出
      • 读:score = DataFrame(pd.read_excel('data.xlsx'))
      • 写:score.to_excel('data1.xlsx')
  • 数据清洗(以df为例)

    • df.drop(columns = [ 'a', 'b' ]) 删除行或列
    • df.rename(columns = { 'a' : 'A', ' b ':' B ' } ,inplace = True) 重命名列名 a-->A b-->B
      • inplace = True:不创建新的对象,直接对原始对象进行修改;
      • ​ inplace = False:对数据进行修改,创建并返回新的对象承载其修改结果。
    • df['列名'].astype('str'/np.int64) 更改数据格式
    • df['列名'] = df['列名'].map(str.strip) 删除左右两边空格(strip)、lstrip(左空格)、rstrip(右空格)
    • df['列名'] = df['列名'].str.strip('特殊符号') 删除特殊符号
    • df.columns = df2.columns.str.upper() 全部大写 (upper)、小写(lower)、首字母大写(title)
    • df.isnull() 哪个地方存在空值
    • df.isnull().any() 哪列存在空值
    • apply函数
      • df['列名'] = df['列名'].apply(str.upper) 对某列值进行大写转化
      • df = df.apply(函数名,axis=,args=()) 函数在apply中应用
  • 数据统计

    • df.describe() 统计函数

  • 数据表合并(已知df1、df2) merge()
    • df3 = pd.merge(df1,df2,on= '列名') 基于指定列
    • df3 = pd.merge(df1, df2, how='inner') 内连接(inner)、左连接(left)、右连接(right)、外连接(outer)
  • 用SQL方式打开Pandas 工具:pandasql库
    • import pandas as pd
    • from pandas import DataFrame
    • from pandasql import sqldf, load_meat, load_births
      • df1 = DataFrame({'name':['ZhangFei', 'GuanYu', 'a', 'b', 'c'], 'data1':range(5)})
      • pysqldf = lambda sql: sqldf(sql, globals())
      • sql = "select * from df1 where name ='ZhangFei'"
      • print pysqldf(sql)
    • 上述代码是对“name='ZhangFei”“的行进行了输出。
    • lambda匿名函数:lambda argument_list: expression
      • argument_list 是参数列表,expression 是关于参数的表达式,会根据 expression 表达式计算结果进行输出返回。