温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Python数据分析中的numpy基础是什么

发布时间:2021-11-23 10:35:31 来源:亿速云 阅读:125 作者:柒染 栏目:大数据

Python数据分析中的numpy基础是什么,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

前言

NumPy(Numerical Python的简称)是高性能科学计算和数据分析的基础包。NumPy最重要的一个特点就是其N维数组对象(即ndarray),该对象是一个快速而灵活的大数据集容器。新手可能不理解这句话的含义,这个需要慢慢去理解 。总之,知道numpy是python数据分析最重要的基础包就可以了。有了numpy才可以利用这种数组对整块数据执行一些数学运算,比python自带的数组以及元组效率更高,其语法跟变量元素之间的运算一样,无需进行循环操作。


Python数据分析中的numpy基础是什么

为什么需要numpy

python默认进行多个数据的计算,是使用循环,如果循环次数多,就非常耗时。举个简单的案例,我们要计算100000个随机数的值,如果传统编程需要写循环,用了2.2s,而使用numpy数据结构,则可以进行向量化操作,无需循环,只需要28.2ms 节约大量时间。

a=[1,2,3,4,5]
b=np.array([1,2,3,4,5])
a+1
b+1
a*10
b*10

如何生成ndarray

numpy的核心是ndarray(n-dimensional array),多维数组。所谓数据就是同一类型数据的集合,比如1000个数字构成一个数组,1000个字符也构成一个数组。numpy包含很多函数,可以将python数据结构很容易转换为numpy的ndarray。

a=[1,2,3,4,5]
b=np.array([1,2,3,4,5])
a+1
b+1
a*10
b*10

比较传统列表数组与ndarray的区别

a=[1,2,3,4,5]
b=np.array([1,2,3,4,5])
a+1
b+1
a*10
b*10

NumPy常用函数

numpy有很多函数,其中使用numpy比较多的功能是利用其生产数字,比如随机数,正太分布,等差数列等。

# 使用array创建数组:
arr = np.array([1,2,3])
arr = np.array([1,2,3],[4,5,6],[7,8,9])

# 使用arange创建数组
arr = np.arange(0,10,1)
#创建1-12的3行4列的二维数组

arr = np.arange(12).reshape(3,4)
# random生成随机数
#生成随机数种子
np.random.seed(1234)
#randn 产生正太分布样本
np.random.randn(1000)
#随机生成整数数据集
np.random.randint(size=1000,low=1,high=1000)

数学计算函数

numpy内置了很多计算的函数,可以进行很多数学,输入数据是一个ndarray即可。

# 使用array创建数组
#x是一个包含1000个随机正整数的集合,取值范围从1~1000。
x=np.random.randint(size=1000,low=1,high=1000)
#输出x
x
#进行集合的求和,平均值,方差,标准差等计算
np.sum(x)
np.mean(x)
np.var(x)
np.std(x)
np.min(x)
np.max(x)
np.argmin(x)
np.argmax(x)
np.cumsum(x)
np.cumprod(x)

计算机性能测试

下面做一个有意思的计算机性能测试,随机生成一个大的数据集,看你的计算机能计算多少位,这个和内存有关系。

#生成100万个数值进行计算
x=np.random.randint(size=1000000,low=1,high=1000)
np.sum(x)
#生成1000万个数值进行计算
x=np.random.randint(size=10000000,low=1,high=1000)
np.sum(x)
#生成1亿个数值进行计算
x=np.random.randint(size=100000000,low=1,high=1000)
np.sum(x)
#如果觉得自己计算机性能不错,可以计算挑战

看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注亿速云行业资讯频道,感谢您对亿速云的支持。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI