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] #按给定条件进行查询