Numpy与Pandas
来源:互联网 发布:淘宝消费者规则在哪 编辑:程序博客网 时间:2024/04/30 00:24
我们来讲一讲Numpy与Pandas的基本使用方法。
首先来讲一下Numpy,Numpy提供了一些非常有用的统计函数,比如Mean(numpy.mean)、Median(numpy.median)以及Standard deviation(numpy.std)。
import numpy as np'''下面的代码能帮助你使用Numpy,当你需要使用向量与数组的运算时,比如数组乘法,Numpy是很好的选择。而且Numpy优化较好,比直接使用Python中的list要快。''''''Numpy中数组和Python中的lists差不多,唯一的区别是Numpy数组中所有值必需是同一种类型,比如int或者float。'''# 把False改为True来运行这段代码if False: array = np.array([1, 4, 5, 8], float) print array print "" array = np.array([[1, 2, 3], [4, 5, 6]], float) # a 2D array/Matrix print array'''与Python中的list类似,你可以索引、分段、修改一个Numpy数组。'''# 把False改为True来运行这段代码if False: array = np.array([1, 4, 5, 8], float) print array print "" print array[1] print "" print array[:2] print "" array[1] = 5.0 print array[1]# 把False改为True来运行这段代码if False: two_D_array = np.array([[1, 2, 3], [4, 5, 6]], float) print two_D_array print "" print two_D_array[1][1] print "" print two_D_array[1, :] print "" print two_D_array[:, 2]'''这里是一些关于Numpy数组的算术运算'''# 把False改为True来运行这段代码if False: array_1 = np.array([1, 2, 3], float) array_2 = np.array([5, 2, 6], float) print array_1 + array_2 print "" print array_1 - array_2 print "" print array_1 * array_2# 把False改为True来运行这段代码if False: array_1 = np.array([[1, 2], [3, 4]], float) array_2 = np.array([[5, 6], [7, 8]], float) print array_1 + array_2 print "" print array_1 - array_2 print "" print array_1 * array_2'''除了标准的算术运算,Numpy也有一些其他的数学运算,比如计算平均数或者点乘。'''# 把False改为True来运行这段代码if False: array_1 = np.array([1, 2, 3], float) array_2 = np.array([[6], [7], [8]], float) print np.mean(array_1) print np.mean(array_2) print "" print np.dot(array_1, array_2)
下面来讲一下Pandas,Pandas的数据通常存储在DataFrame的数据框架中,现介绍一下Pandas的Series:
import pandas as pd'''下面的代码帮你了解Series的概念。你可以把Series想成一维object,和array、list有点像。默认的它会为每一行分配一个索引标签,范围从0到N,这里N是总条数减一。'''# 将False改为True来创建一个Series对象if False: series = pd.Series(['Dave', 'Cheng-Han', 'Udacity', 42, -1789710578]) print series'''在创建series的同时,你也可以为每一条分配索引。'''# 将False改为True来看自定义索引if True: series = pd.Series(['Dave', 'Cheng-Han', 359, 9001], index=['Instructor', 'Curriculum Manager', 'Course Number', 'Power Level']) print series'''你可以使用索引来从Series中选择特定的序列'''# 将False改为True来看用索引选择特定序列if False: series = pd.Series(['Dave', 'Cheng-Han', 359, 9001], index=['Instructor', 'Curriculum Manager', 'Course Number', 'Power Level']) print series['Instructor'] print "" print series[['Instructor', 'Curriculum Manager', 'Course Number']]'''你也可以使用bool型操作来选择Series中特定的项'''# 将False改为True来看bool型索引if False: cuteness = pd.Series([1, 2, 3, 4, 5], index=['Cockroach', 'Fish', 'Mini Pig', 'Puppy', 'Kitten']) print cuteness > 3 print "" print cuteness[cuteness > 3]
下面来介绍一下Pandas的Dataframe:
import numpy as npimport pandas as pd'''下面的代码能帮助你理解Pandas中的Dataframe。你可以把Dataframe想成有行有列的表格,就像spreadsheet、数据库表或者R中的data.frame对象。''''''创建一个数据库可以把字典序的list来传给Dataframe构造器:1) 字典的key值将会作为列名。2) 相关的列值会填充到对应列名下。'''# 把False改为True来看Dataframes的创建if False: data = {'year': [2010, 2011, 2012, 2011, 2012, 2010, 2011, 2012], 'team': ['Bears', 'Bears', 'Bears', 'Packers', 'Packers', 'Lions', 'Lions', 'Lions'], 'wins': [11, 8, 10, 15, 11, 6, 10, 4], 'losses': [5, 8, 6, 1, 5, 10, 6, 12]} football = pd.DataFrame(data) print football'''Pandas同时也提供了一系列函数帮助你理解关于你数据框架的基本信息。比如:1) dtypes: 从每一列获得数据类型。2) describe: 用来看在dataframe中数字列的一些基本统计信息,比如count、mean、std等。3) head: 显示数据集中的前5行4) tail: 显示数据集中的最后5行'''# 把False改为True来看这些函数的使用if False: data = {'year': [2010, 2011, 2012, 2011, 2012, 2010, 2011, 2012], 'team': ['Bears', 'Bears', 'Bears', 'Packers', 'Packers', 'Lions', 'Lions', 'Lions'], 'wins': [11, 8, 10, 15, 11, 6, 10, 4], 'losses': [5, 8, 6, 1, 5, 10, 6, 12]} football = pd.DataFrame(data) print football.dtypes print "" print football.describe() print "" print football.head() print "" print football.tail()
下面介绍一下Pandas中索引数据框。
import pandas as pd'''你可以把DataFrame想成一组具有索引的Series集合,这会让你更容易选中你需要从DataFrame中选中的指定列。同时要注意两点:1) 选中DataFrame中单列会返回一个Series2) 选中DataFrame中多列会返回一个DataFrame'''# 把False改为True来看Series的索引if False: data = {'year': [2010, 2011, 2012, 2011, 2012, 2010, 2011, 2012], 'team': ['Bears', 'Bears', 'Bears', 'Packers', 'Packers', 'Lions', 'Lions', 'Lions'], 'wins': [11, 8, 10, 15, 11, 6, 10, 4], 'losses': [5, 8, 6, 1, 5, 10, 6, 12]} football = pd.DataFrame(data) print football['year'] print '' print football.year # football['year']的缩写 print '' print football[['year', 'wins', 'losses']]'''有多种方法可以进行行选择。这里有一些通用的方法: 1) 切割 2) 个别的索引(通过loc或iloc) 3) bool型索引你也可以同时通过bool操作符像&(and)或|(or)来连接多个选择的要求。'''# 把False改为True来看bool型索引if False: data = {'year': [2010, 2011, 2012, 2011, 2012, 2010, 2011, 2012], 'team': ['Bears', 'Bears', 'Bears', 'Packers', 'Packers', 'Lions', 'Lions', 'Lions'], 'wins': [11, 8, 10, 15, 11, 6, 10, 4], 'losses': [5, 8, 6, 1, 5, 10, 6, 12]} football = pd.DataFrame(data) print football.iloc[[0]] print "" print football.loc[[0]] print "" print football[3:5] print "" print football[football.wins > 10] print "" print football[(football.wins > 10) & (football.team == "Packers")]
1 0
- Numpy与Pandas排序
- Numpy与Pandas
- NumPy.npy与pandas DataFrame
- 优达学城Numpy与Pandas笔记
- pandas |numpy
- pandas与numpy的一小步
- Python2.7装numpy与pandas库
- pandas与numpy数据结构互相转化
- python/pandas/numpy数据分析(十一)-相关系数与协方差
- python/pandas/numpy(十二)数据加载、存储与文件格式
- Python Pandas与Numpy中axis参数的二义性
- Python Pandas与Numpy中axis参数的二义性
- Python Pandas与Numpy中axis参数的二义性
- numpy与pandas的数据结构互转:ndarray、series、dataframe
- Pandas与Numpy中axis参数的二义性
- numpy与pandas的数据结构互转:ndarray、series、dataframe
- NumPy、SciPy和Pandas
- pandas numpy学习笔记
- CodeForces 554B Ohana Cleans Up 【思维+map】
- 交叉排序
- 剑指offer之数组操作
- Java文件拷贝的几种实现方案
- 新工作:重新开始
- Numpy与Pandas
- 数据库安全功能
- CodeForces 554B Ohana Cleans Up(思维)
- Session 'MainActivity': Error Launching
- flex布局
- android文件的下载
- 美团O2O排序解决方案——线上篇
- SharedPreferences的知识
- 用Python 学习数据结构与算法 六、最大子序列