数据科学包——pandas

  • ipython

    • 查看相关函数和补全
      • 输入库中的部分函数名,按tab
        • 如np.r ,按tab
    • 查看文档
      • 函数名?
    • 直接执行shell命令
      • 特殊命令
        • %run
        • %timeit
        • 更多ipython命令:%quickref
        • 魔术命令:%magic
    • notebook
  • pandas

    • Series (一行或一列)
      • pd.Series(list)
      • 运算标签自动对齐
    • 二维数组
      • pd.DataFrame()
        • 由数组创建(行)
          • data = pd.DataFrame(np.random.randn(6,4), index=索引列表, columns = 列标签列表)
        • 由字典创建(列)
          • d=pd.DataFrame({‘A’,1,‘B’=a,‘C’, 545}) # ABC为列标签
          • 字典值对应列表长度要一致
          • 字典值可都为Series
      • 实质:np.ndarray
    • 三维数据
      • Panel
        • items:对应第几个DataFrame
        • major_axis:行标签
        • minor_axis:列标签
      • 最新版本已移除
    • 操作
      • 查看
        • 查看形状
          • data.shape
        • 查看值
          • data.values
        • 查看所有列的属性类型
          • df.dtypes
        • 查看某一列
          • df.列名
        • 查看前几行数据
          • data.head() # 默认5行
        • 查看最后几行数据
          • data.tail() # 默认5行
        • 查看行标签
          • data.index
        • 查看列标签
          • data.columns
        • 数据透视表
          • df.pivot_table(values=要查看的值对应的索引列表,index=作为行标签的索引列表,columns=作为列标签的索引列表)
        • 统计每个值有多少个
          • df.value_counts()
        • 找出值最多的数
          • df.mode()
        • 查看数据的统计值(平均数、中位数等)
          • data.describe()
        • 返回Series中不重复的值
          • s.unique()
        • 判断索引是否重复
          • s.index.is_unique
        • 判断元素是否在Series中
          • s.isin(元素列表)
      • 子数据选择
        • 通过标签选择子数据(行)
          • data.loc[‘20150813’:‘20150921’]
        • 通过标签选择子数据
          • data.loc[行标签列表,列标签列表]
        • 通过数字索引选择子数据
          • data.iloc[2:5]
        • 通过索引标签访问单个位置值
          • data.at[行索引,列索引] # 索引为pandas原生数据结构
        • 通过索引编号方位单个位置值
          • data.iat[1,3]
        • data[data>0]
        • 深拷贝
          • data.copy()
        • 添加新的列
          • data[‘新的列名(之前没有)’] = 元素列表
        • 拼接
          • pd.concat(多个DataFrame列表)
          • pd.merge(df1,df2, on=‘属性名’) # 按属性名拼接
            • left_on = ‘列名’ # 通过索引进行外连接
            • right_index = True # 保留右表索引
        • 插入数据
          • df.append(s, ignore_index=True/False)
          • df.insert(位置索引,‘插入的列名’, 插入列表) # 改变原表
          • df.assign(新列名=列值列表)

猜你喜欢

转载自www.cnblogs.com/linyk/p/12925975.html