python库pandas简介

  pandas是基于numpy的数据分析模块,提供了大量标准模型和高效操作大型数据集所需要的工具。

  pandas主要提供了3种数据结构:1、Series,带标签的一维数组;2、DataFrame,带标签且大小可变的二维表格结构;3、Panel,带标签且大小可变的三维数组。

  使用:用pig工具下载和安装pandas

  导入:import pandas as pd

 

  1.生成一维数组

  import numpy as np

  x = pd.Series([1, 3,  5, np.nan])

 

  2.生成二维数组

  dates = pd.data_range(start  = '20130101', end = '20131231', freq = 'D') #间隔为天

  dates = pd.data_range(start  = '20130101', end = '20131231', freq = 'M') #间隔为月

  df = pd.DataFrame(np.random.randn(12, 4), index = dates, columns = list('ABCD'))

  df = pd.DataFrame([[np.random.randint(1, 100) for j in range(4)] for i in range(12)], index = dates, columns = list('ABCD')) #构造4列随机数

  df = pd.DataFrame({'A':[np.random.randint(1, 100) for i in range(4)], 'B':pd.date_range(start = '20130101', periods = 4, freq = 'D'), 'C':pd.Series([1, 2, 3, 4], index = list(range(4)), dtype = 'float32'), 'D':np.array([3] * 4, dtype = 'int32'), 'E':pd.Categorical(["test", "train", "test", "train"]), 'F':'foo'})

  df = pd.DataFrame({'A':[np.random.randint(1, 100) for i in range(4)], 'B':pd.date_range(start = '20130101', periods = 4, freq = 'D'), 'C':pd.Series([1, 2, 3, 4], index = list(range(4)), dtype = 'float32'), 'D':np.array([3] * 4, dtype = 'int32'), 'E':pd.Categorical(["test", "train", "test", "train"]), 'F':'foo'})

 

  3.二维数据查看

  df.head()  #默认显示前5行

  df.head(3)  #查看前3行

  df.tail(2)  #查看最后2行

 

  4.查看二维数据的索引、列名和数据

  df.index  #查看索引

  df.columns  #查看列名

  df.values  #查看数据

 

  5.查看数据的统计信息

  df.describe()  #返回平均值、标准差、最小值、最大值等信息

 

  6.二维数据转置

  df.T

 

  7.排序

  df.sort_index(axis = 0, ascending = False)   #对轴进行排序

  df.sort_index(axis = 1, ascending = False)  

  df.sort_values(by = 'A')  #对数据进行排序

  df.sort_vlaues(by = 'A', ascending = False)  #对数据进行降序排列

 

  8.数据选择

  df['A']  #选择列

  df[0 : 2]  #使用切片选择多行

  df.loc[:, ['A', 'C']]  #选择多列

  df.loc[['zhang', 'zhou'], ['A', 'B', 'C', 'D']]  #同时指定多行与多列进行选择

  df.loc['zhang', ['A', 'B', 'C', 'D']] 

  df.at['zhang', 'A']  #查询指定行、列位置的数据值

  df.iloc[3]  #查询第3行数据

  df.iloc[0:3, 0:4]  #查询前3行、前4列数据

  df.iloc[[0, 2, 3], [0, 4]]  #查询指定的多行、多列数据

  df[df.A > 50]  #按给定条件进行查询

posted @ 2018-03-18 14:17  lsk-lsk  阅读(416)  评论(0编辑  收藏  举报