GVKun编程网logo

Python 学习之 Pandas 和 Numpy 的区别!(pandas与numpy的区别)

3

在这里,我们将给大家分享关于Python学习之Pandas和Numpy的区别!的知识,让您更了解pandas与numpy的区别的本质,同时也会涉及到如何更有效地HTML篇(006)-title与h1的

在这里,我们将给大家分享关于Python 学习之 Pandas 和 Numpy 的区别!的知识,让您更了解pandas与numpy的区别的本质,同时也会涉及到如何更有效地HTML篇(006)-title与 h1 的区别、b 与 strong 的区别、i 与 em 的区别、Jupyter 中的 Numpy 在打印时出错(Python 版本 3.8.8):TypeError: 'numpy.ndarray' object is not callable、numpy 与 list 的区别 定义多维数组,取数组元素 numpy 数值类型 数据类型对象 dtype (''int32'') e.dtype.type 所占字节数 ...、numpy.random.random & numpy.ndarray.astype & numpy.arange的内容。

本文目录一览:

Python 学习之 Pandas 和 Numpy 的区别!(pandas与numpy的区别)

Python 学习之 Pandas 和 Numpy 的区别!(pandas与numpy的区别)

OSC 请你来轰趴啦!1028 苏州源创会,一起寻宝 AI 时代

  Pandas 和 Numpy 想必大家都听说过,一个是数值计算的扩展包,一个是做数据处理的,那么它们之间有何区别呢?我们通过这篇文章来看看吧。

  什么是 Numpy?

  Numpy 系统是 Python 的一种开源的数值计算扩展。这种工具可以用来存储和处理大型矩阵,比 Python 自身的嵌套列表结构要高效很多。

  什么是 Pandas?

  Pandas 是基于 Numpy 的一种工具,该工具是为了解决数据分析任务而创建的。Pandas 纳入了大量库和一些标准的数据模型,提供了高效地操作大型数据集所需的工具。Pandas 提供了大量快速便捷地处理数据的函数和方法,使 Python 成为强大而高效的数据分析环境的重要因素之一。

  Pandas 和 Numpy 有何区别?

  1. Pandas 模块主要处理表格数据,而 Numpy 模块处理数字数据;

  2. Pandas 提供了一些强大的工具集,主要用于数据分析,Numpy 模块提供了一个强大的对象,称为 Array;

  3. Pandas 覆盖了更广泛的应用程序,因为它在 73 个公司堆栈和 46 个开发人员堆栈中被提及,Numpy 中提到了 62 个公司堆栈和 32 个开发人员堆栈;

  4. Numpy 的性能优于 Pandas;

  5. Numpy 提供了用于多维数组的对象,而 Pandas 能够提供称为 DataFrame 的内存中二维表对象;

  6. 与 Pandas 对比,Numpy 消耗更少的内存。

HTML篇(006)-title与 h1 的区别、b 与 strong 的区别、i 与 em 的区别

HTML篇(006)-title与 h1 的区别、b 与 strong 的区别、i 与 em 的区别

答案:

①title用于网站信息标题,突出网站标题或关键字,一个网站可以有多个title,seo权重高于H1;H1概括的是文章主题,一个页面最好只用一个H1,seo权重低于title。

解析:

A.从网站角度而言,title则重于网站信息标题,突出网站标题或关键字用title,一篇文章,一个页面最好只

用一个H1,H1用得太多,会稀释主题;一个网站可以有多个title,最好一个单页用一个title以便突出网站页面

主题信息。

B.从文章角度而言,H1则概括的是文章主题,突出文章主题,用H1,面对的用户,要突出其视觉效果。

C.从SEO角度而言,title的权重高于H1,其适用性要比H1广。

②b为了加粗而加粗,strong为了标明重点而加粗

解析:

A.b这个标签对应 bold,即文本加粗,其目的仅仅是为了加粗显示文本,是一种样式/风格需求;

B.strong这个标签意思是加强字符的语气,表示该文本比较重要,提醒读者/终端注意。为了达到这个目的,浏览器等终端将其加粗显示;

③ 同②i为了斜体而斜体,em为了标明重点而斜体,且对于搜索引擎来说strong和em比b和i要重视的多

参与互动

Jupyter 中的 Numpy 在打印时出错(Python 版本 3.8.8):TypeError: 'numpy.ndarray' object is not callable

Jupyter 中的 Numpy 在打印时出错(Python 版本 3.8.8):TypeError: 'numpy.ndarray' object is not callable

如何解决Jupyter 中的 Numpy 在打印时出错(Python 版本 3.8.8):TypeError: ''numpy.ndarray'' object is not callable?

晚安, 尝试打印以下内容时,我在 jupyter 中遇到了 numpy 问题,并且得到了一个 错误: 需要注意的是python版本是3.8.8。 我先用 spyder 测试它,它运行正确,它给了我预期的结果

使用 Spyder:

import numpy as np
    for i in range (5):
        n = np.random.rand ()
    print (n)
Results
0.6604903457995978
0.8236300859753154
0.16067650689842816
0.6967868357083673
0.4231597934445466

现在有了 jupyter

import numpy as np
    for i in range (5):
        n = np.random.rand ()
    print (n)
-------------------------------------------------- ------
TypeError Traceback (most recent call last)
<ipython-input-78-0c6a801b3ea9> in <module>
       2 for i in range (5):
       3 n = np.random.rand ()
---->  4 print (n)

       TypeError: ''numpy.ndarray'' object is not callable

感谢您对我如何在 Jupyter 中解决此问题的帮助。

非常感谢您抽出宝贵时间。

阿特,约翰”

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

numpy 与 list 的区别 定义多维数组,取数组元素 numpy 数值类型 数据类型对象 dtype (''int32'') e.dtype.type 所占字节数 ...

numpy 与 list 的区别 定义多维数组,取数组元素 numpy 数值类型 数据类型对象 dtype (''int32'') e.dtype.type 所占字节数 ...

Python 3.6.2 (v3.6.2:5fd33b5, Jul  8 2017, 04:57:36) [MSC v.1900 64 bit (AMD64)] on win32
Type "copyright", "credits" or "license()" for more information.
>>> import numpy as np
>>> a=list(range(10,15))
>>> a
[10, 11, 12, 13, 14]
>>> b=np.arange(5)
>>> b
array([0, 1, 2, 3, 4])
>>> type(a)
<class ''list''>
>>> type(b)
<class ''numpy.ndarray''>
>>> a[1]
11
>>> b[1]
1
>>> a*2
[10, 11, 12, 13, 14, 10, 11, 12, 13, 14]
>>> b*2
array([0, 2, 4, 6, 8])
>>> a**2
Traceback (most recent call last):
  File "<pyshell#11>", line 1, in <module>
    a**2
TypeError: unsupported operand type(s) for ** or pow(): ''list'' and ''int''
>>> b**2 //b的二次方
Traceback (most recent call last):
  File "<pyshell#12>", line 1, in <module>
    b**2 //b的二次方
NameError: name ''b的二次方'' is not defined
>>> #b的二次方
>>> b**2
array([ 0,  1,  4,  9, 16], dtype=int32)
>>> b**2
array([ 0,  1,  4,  9, 16], dtype=int32)
>>> b.dtype
dtype(''int32'')
>>> #b元组都是整型
>>> b.shape
(5,)
>>> #多维数组
>>> c=np.array([a,b])
>>> c
array([[10, 11, 12, 13, 14],
       [ 0,  1,  2,  3,  4]])
>>> d=[a,b]
>>> d
[[10, 11, 12, 13, 14], array([0, 1, 2, 3, 4])]
>>> c.shape
(2, 5)
>>> c.size
10
>>> e=np.array([c,c*2])
>>> e
array([[[10, 11, 12, 13, 14],
        [ 0,  1,  2,  3,  4]],

       [[20, 22, 24, 26, 28],
        [ 0,  2,  4,  6,  8]]])
>>> e.shape
(2, 2, 5)
>>> e[1]
array([[20, 22, 24, 26, 28],
       [ 0,  2,  4,  6,  8]])
>>> e[1,0]
array([20, 22, 24, 26, 28])
>>> e[1,0,3]
26
>>> #numpy数值类型
>>> type(d)
<class ''list''>
>>> type(d[1])
<class ''numpy.ndarray''>
>>> e.dtype
dtype(''int32'')
>>> e[1].dtype
dtype(''int32'')
>>> b.np.arange(5,dtype=np.int64)
Traceback (most recent call last):
  File "<pyshell#37>", line 1, in <module>
    b.np.arange(5,dtype=np.int64)
AttributeError: ''numpy.ndarray'' object has no attribute ''np''
>>> b=np.arange(5,dtype=np.float16)
>>> b
array([ 0.,  1.,  2.,  3.,  4.], dtype=float16)
>>> b=np.arange(5,dtype=np.int64)
>>> b
array([0, 1, 2, 3, 4], dtype=int64)
>>> #所占字节数
>>> e.dtype.itemsize
4
>>> #字符码
>>> e.dtype.char
''l''
>>> #数组切片
>>> b[2:5]
array([2, 3, 4], dtype=int64)
>>> e[0,0,2:5]
array([12, 13, 14])
>>> e[0,0,0:5:2]
array([10, 12, 14])
>>> #数组反转
>>> e[::-1]
array([[[20, 22, 24, 26, 28],
        [ 0,  2,  4,  6,  8]],

       [[10, 11, 12, 13, 14],
        [ 0,  1,  2,  3,  4]]])
>>> e[::1]
array([[[10, 11, 12, 13, 14],
        [ 0,  1,  2,  3,  4]],

       [[20, 22, 24, 26, 28],
        [ 0,  2,  4,  6,  8]]])
>>> #处理数组形状
>>> m=np.arange(24)
>>> m
array([ 0,  1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12, 13, 14, 15, 16,
       17, 18, 19, 20, 21, 22, 23])
>>> m.shape
(24,)
>>> #视图
>>> n=m.reshape(3,8)
>>> #一维转多维
>>> n.shape
(3, 8)
>>> n
array([[ 0,  1,  2,  3,  4,  5,  6,  7],
       [ 8,  9, 10, 11, 12, 13, 14, 15],
       [16, 17, 18, 19, 20, 21, 22, 23]])
>>> o=m.reshape(3,2,4)
>>> o
array([[[ 0,  1,  2,  3],
        [ 4,  5,  6,  7]],

       [[ 8,  9, 10, 11],
        [12, 13, 14, 15]],

       [[16, 17, 18, 19],
        [20, 21, 22, 23]]])
>>> #直接改变形状
>>> m.shape=(2,3,1,4)
>>> m
array([[[[ 0,  1,  2,  3]],

        [[ 4,  5,  6,  7]],

        [[ 8,  9, 10, 11]]],


       [[[12, 13, 14, 15]],

        [[16, 17, 18, 19]],

        [[20, 21, 22, 23]]]])
>>> #直接改变形状
>>> m.resize(3,8)
>>> m
array([[ 0,  1,  2,  3,  4,  5,  6,  7],
       [ 8,  9, 10, 11, 12, 13, 14, 15],
       [16, 17, 18, 19, 20, 21, 22, 23]])
>>> e.ravel()
array([10, 11, 12, 13, 14,  0,  1,  2,  3,  4, 20, 22, 24, 26, 28,  0,  2,
        4,  6,  8])
>>> n.flatten()
array([ 0,  1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12, 13, 14, 15, 16,
       17, 18, 19, 20, 21, 22, 23])
>>> #n.flatten()为重新分配内在
>>> #e.ravel()是多维转一维
>>> #视图
>>> n.reshape()
Traceback (most recent call last):
  File "<pyshell#75>", line 1, in <module>
    n.reshape()
TypeError: reshape() takes exactly 1 argument (0 given)
>>> n.reshape(24,)
array([ 0,  1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12, 13, 14, 15, 16,
       17, 18, 19, 20, 21, 22, 23])
>>> n
array([[ 0,  1,  2,  3,  4,  5,  6,  7],
       [ 8,  9, 10, 11, 12, 13, 14, 15],
       [16, 17, 18, 19, 20, 21, 22, 23]])
>>> n.shape
(3, 8)
>>> n.shape=(24,)
>>> n
array([ 0,  1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12, 13, 14, 15, 16,
       17, 18, 19, 20, 21, 22, 23])
>>> n.resize(24,)
>>> n
array([ 0,  1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12, 13, 14, 15, 16,
       17, 18, 19, 20, 21, 22, 23])
>>> n=m.reshape(3,8)
>>> n
array([[ 0,  1,  2,  3,  4,  5,  6,  7],
       [ 8,  9, 10, 11, 12, 13, 14, 15],
       [16, 17, 18, 19, 20, 21, 22, 23]])
>>> n.resize(24,)
>>> n
array([ 0,  1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12, 13, 14, 15, 16,
       17, 18, 19, 20, 21, 22, 23])
>>>

 

>>> #数组遍历
>>> for x in np.nditer(m)
SyntaxError: invalid syntax
>>> for x in np.nditer(m):
    print(x)

    
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
>>> #F为纵向遍历
>>> for x in np.nditer(m,order="F"):
    print(x)

    
0
8
16
1
9
17
2
10
18
3
11
19
4
12
20
5
13
21
6
14
22
7
15
23
>>> for x in np.nditer(m,order="C"):
    print(x)

    
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23

 

numpy.random.random & numpy.ndarray.astype & numpy.arange

numpy.random.random & numpy.ndarray.astype & numpy.arange

今天看到这样一句代码:

xb = np.random.random((nb, d)).astype(''float32'') #创建一个二维随机数矩阵(nb行d列)
xb[:, 0] += np.arange(nb) / 1000. #将矩阵第一列的每个数加上一个值

要理解这两句代码需要理解三个函数

1、生成随机数

numpy.random.random(size=None) 

size为None时,返回float。

size不为None时,返回numpy.ndarray。例如numpy.random.random((1,2)),返回1行2列的numpy数组

 

2、对numpy数组中每一个元素进行类型转换

numpy.ndarray.astype(dtype)

返回numpy.ndarray。例如 numpy.array([1, 2, 2.5]).astype(int),返回numpy数组 [1, 2, 2]

 

3、获取等差数列

numpy.arange([start,]stop,[step,]dtype=None)

功能类似python中自带的range()和numpy中的numpy.linspace

返回numpy数组。例如numpy.arange(3),返回numpy数组[0, 1, 2]

关于Python 学习之 Pandas 和 Numpy 的区别!pandas与numpy的区别的介绍已经告一段落,感谢您的耐心阅读,如果想了解更多关于HTML篇(006)-title与 h1 的区别、b 与 strong 的区别、i 与 em 的区别、Jupyter 中的 Numpy 在打印时出错(Python 版本 3.8.8):TypeError: 'numpy.ndarray' object is not callable、numpy 与 list 的区别 定义多维数组,取数组元素 numpy 数值类型 数据类型对象 dtype (''int32'') e.dtype.type 所占字节数 ...、numpy.random.random & numpy.ndarray.astype & numpy.arange的相关信息,请在本站寻找。

本文标签: