精华内容
下载资源
问答
  • python用于科学计算Virtual Environments in Python are super important because they allow the user to manage all dependencies within their project. This consistency is vital for when smaller projects go...

    python用于科学计算

    Virtual Environments in Python are super important because they allow the user to manage all dependencies within their project. This consistency is vital for when smaller projects go into production, so it’s important that this consistency pertains throughout the life cycle of a project.

    Python中的虚拟环境非常重要,因为它们允许用户管理项目中的所有依赖关系。 这种一致性对于小型项目投入生产至关重要,因此,在项目的整个生命周期中保持这种一致性至关重要。

    VirtualEnv (or venv for short) was (and kind of still is) the default virtual environment for most programmers. You can install it using pip as follows

    对于大多数程序员venv ,VirtualEnv(或venv )是(并且仍然是)默认的虚拟环境。 您可以使用pip如下安装它

    pip install virtualenv

    and once it’s installed, go to your chosen director and to create a virtual environment, run the following command:

    安装完成后,转到您选择的控制器并创建一个虚拟环境,运行以下命令:

    python3 -m venv env

    Before you can start installing or using packages in your virtual environment you’ll need to activate it. Activating a virtual environment will put the virtual environment-specific python and pip executables into your shell’s PATH.

    您需要先激活它,然后才能在虚拟环境中开始安装或使用软件包。 激活虚拟环境会将特定于虚拟环境的pythonpip可执行文件放入外壳的PATH

    source env/bin/activate

    And now that you’re in an activated virtual environment, you can start installing libraries as normal:

    现在,您处于激活的虚拟环境中,可以正常开始安装库了:

    pip install requests

    Finally, to make your repo reusable, make sure to create a record of everything that’s installed in your new environment, run

    最后,要使您的存储库可重复使用,请确保创建新环境中安装的所有内容的记录,然后运行

    pip freeze > requirements.txt

    If you are creating a new virtual environment from a requirements.txt file, you can run

    如果要从requirements.txt文件创建新的虚拟环境,则可以运行

    pip install -f requirements.txt

    If you open your requirements file you will see a different package with its version in each line.

    如果您打开需求文件,您将在每行中看到一个不同的包及其版本。

    Finally, to deactivate the virtual environment, you can simply use the deactivate command to close the virtual environment. If you want to re-enter the virtual environment just follow the same instructions above about activating a virtual environment. There’s no need to re-create the virtual environment.

    最后,要停用虚拟环境,您只需使用deactivate命令即可关闭虚拟环境。 如果要重新进入虚拟环境,请按照上述有关激活虚拟环境的相同说明进行操作。 无需重新创建虚拟环境。

    If you’re working on a project, doing some homework or trying to start the next big blockbuster of a company, then take it from me: managing your environment is vital. It’s important because it just means that as the project scales or grows (or even if someone else tests it out), then you’ll face fewer issues because you’ve contained as many moving parts as you can.

    如果您正在从事一个项目,做一些家庭作业或试图创办一家公司的下一个重磅炸弹,那么请从我这里拿走它:管理环境至关重要。 这很重要,因为这仅意味着随着项目的扩展或扩展(甚至是其他人对其进行了测试),那么您将面临的问题更少,因为您已包含了尽可能多的活动部件。

    Learning about virtual environments really helped both my personal and professional work. I hope it helps you too!

    了解虚拟环境确实对我的个人和专业工作都有帮助。 希望对您有帮助!

    Thanks for reading! If you have any messages, please let me know!

    谢谢阅读! 如果您有任何留言,请告诉我!

    Keep up to date with my latest articles here!

    在这里了解我的最新文章!

    翻译自: https://towardsdatascience.com/launching-python-environments-for-data-science-the-right-way-9c44b5908496

    python用于科学计算

    展开全文
  • python用于科学计算 Python是一种很棒的语言。 实际上,它是世界上增长最快的编程语言之一。 它一次又一次地证明了它在跨行业的开发人员职位和数据科学职位中的用处。 Python的整个生态系统及其库使它成为全世界用户...

    python用于科学计算

    Python是一种很棒的语言。 实际上,它是世界上增长最快的编程语言之一。 它一次又一次地证明了它在跨行业的开发人员职位和数据科学职位中的用处。 Python的整个生态系统及其库使它成为全世界用户(初学者和高级用户)的合适选择。 其成功和流行的原因之一是其强大的库集,使其变得如此动态和快速。

    在本文中,我们将介绍一些用于数据科学任务的Python库,而不是常用的库,例如pandas,scikit-learnmatplotlib 尽管像pandas和scikit-learn这样的库是机器学习任务想到的库,但了解该领域的其他Python产品始终是一件好事。

    Wget

    Wget是一个免费实用程序,用于从Web上非交互式下载文件。 它支持HTTP,HTTPS和FTP协议,以及通过HTTP代理进行检索。 由于它是非交互式的,因此即使用户未登录,它也可以在后台运行。因此,下次您要下载网站或页面中的所有图像时, wget会为您提供帮助。

    安装

     $ pip install wget 
    

    import wget
    url = 'http://www.futurecrew.com/skaven/song_files/mp3/razorback.mp3'

    filename = wget. download ( url )
    100 % [ ................................................ ] 3841532 / 3841532

    filename
    'razorback.mp3'

    对于那些在Python中使用日期时间时感到沮丧的人, Pendulum在这里。 这是一个Python软件包,可简化日期时间操作。 它是Python本机类​​的直接替代。 有关详细信息,请参阅文档

    安装

     $ pip install pendulum 
    

    import pendulum

    dt_toronto = pendulum. datetime ( 2012 , 1 , 1 , tz = 'America/Toronto' )
    dt_vancouver = pendulum. datetime ( 2012 , 1 , 1 , tz = 'America/Vancouver' )

    print ( dt_vancouver. diff ( dt_toronto ) . in_hours ( ) )

    3

    学习失衡

    当每个类别中的样本数几乎相同(即平衡)时,大多数分类算法效果最佳。 但是现实生活中的情况充满了不平衡的数据集,这可能与学习阶段以及机器学习算法的后续预测有关。 幸运的是,创建了不平衡学习库来解决此问题。 它与scikit-learn兼容,并且是scikit-learn-contrib项目的一部分。 下次遇到不平衡的数据集时,请尝试一下。

    安装

    pip install -U imbalanced-learn

    # or

    conda install -c conda-forge imbalanced-learn

    有关用法和示例,请参阅文档

    FlashText

    在自然语言处理(NLP)任务期间清理文本数据通常需要替换句子中的关键字或从句子中提取关键字。 通常,此类操作可以使用正则表达式来完成,但是如果要搜索的术语数达到数千,则它们将变得很麻烦。

    Python的FlashText模块基于FlashText算法 ,为此类情况提供了一种合适的替代方法。 FlashText最好的部分是运行时间是相同的,而不管搜索词的数量如何。 您可以在文档中阅读有关它的更多信息。

    安装

     $ pip install flashtext 
    

    例子

    提取关键字:

    from flashtext import KeywordProcessor
    keyword_processor = KeywordProcessor ( )

    # keyword_processor.add_keyword(<unclean name>, <standardised name>)

    keyword_processor. add_keyword ( 'Big Apple' , 'New York' )
    keyword_processor. add_keyword ( 'Bay Area' )
    keywords_found = keyword_processor. extract_keywords ( 'I love Big Apple and Bay Area.' )

    keywords_found
    [ 'New York' , 'Bay Area' ]

    替换关键字:

    keyword_processor. add_keyword ( 'New Delhi' , 'NCR region' )

    new_sentence = keyword_processor. replace_keywords ( 'I love Big Apple and new delhi.' )

    new_sentence
    'I love New York and NCR region.'

    有关更多示例,请参考文档中的用法部分。

    模糊模糊

    这个名字听起来很奇怪,但是对于字符串匹配, FuzzyWuzzy是一个非常有用的库。 它可以轻松地实现字符串比较率,令牌率等操作。对于匹配保存在不同数据库中的记录,它也很方便。

    安装

     $ pip install fuzzywuzzy 
    

    from fuzzywuzzy import fuzz
    from fuzzywuzzy import process

    # Simple Ratio

    fuzz. ratio ( "this is a test" , "this is a test!" )
    97

    # Partial Ratio
    fuzz. partial_ratio ( "this is a test" , "this is a test!" )
     100

    更多示例可以在FuzzyWuzzy的GitHub存储库中找到。

    热通量

    时间序列分析是机器学习中最常遇到的问题之一。 PyFlux是Python中的一个开放源代码库,该库是为处理时间序列问题而明确构建的。 该库具有一系列出色的现代时间序列模型,包括但不限于ARIMAGARCHVAR模型。 简而言之,PyFlux为时序建模提供了一种概率方法。 值得尝试。

    安装

     pip install pyflux 
    

    请参阅文档以获取用法和示例。

    体积

    交流结果是数据科学的重要方面,可视化结果具有显着的优势。 IPyvolume是一个Python库,以最小的配置和工作量即可可视化Jupyter笔记本中的3D体积和字形(例如3D散点图)。 但是,它目前处于1.0之前的阶段。 一个很好的类比是这样的:IPyvolume的volshow是3D阵列,而matplotlib的imshow是2D阵列。 您可以在文档中阅读有关它的更多信息。

    安装

    Using pip
    $ pip install ipyvolume

    Conda/Anaconda
    $ conda install -c conda-forge ipyvolume

    例子

    动画:

    Ipyvolume animation

    体积渲染:

    Ipyvolume volume rendering animation

    短跑

    Dash是用于构建Web应用程序的高效Python框架。 它是在Flask,Plotly.js和React.js之上编写的,并且将现代UI元素(如下拉菜单,滑块和图形)与您的分析Python代码联系在一起,而无需使用JavaScript。 Dash非常适合构建可在Web浏览器中呈现的数据可视化应用程序。 有关更多详细信息,请查阅用户指南

    安装

    pip install dash==0.29.0  # The core dash backend
    pip install dash-html-components==0.13.2  # HTML components
    pip install dash-core-components==0.36.0  # Supercharged components
    pip install dash-table==3.1.3  # Interactive DataTable component (new!)

    以下示例显示了具有下拉功能的高度交互的图。 当用户在下拉列表中选择一个值时,应用程序代码会将数据从Google财经动态导出到Pandas DataFrame中。

    Dash app example animation

    源代码

    健身房

    OpenAI的 Gym是一个用于开发和比较强化学习算法的工具包。 它与任何数值计算库兼容,例如TensorFlow或Theano。 Gym库是测试问题(也称为环境)的集合,可用于制定强化学习算法。 这些环境具有共享的接口,使您可以编写常规算法。

    安装

     pip install gym 
    

    以下示例将以1000个时间步长运行环境CartPole-v0的实例,并在每个步骤呈现该环境。

    Gym animation

    您可以在Gym网站上阅读有关其他环境的信息。

    结论

    这些是有用但鲜为人知的数据科学Python库的我的选择。 如果您知道要添加到此列表中的另一个列表,请在下面的评论中提及。


    该文章最初发布在Google Analytics(分析)Vidhya中型渠道上,经许可转载。

    翻译自: https://opensource.com/article/18/11/python-libraries-data-science

    python用于科学计算

    展开全文
  • 使用 Python 进行科学计算, 今天看了一下 使用 Python 进行科学计算 发现写的非常不错, 而且博主强烈要求分享 跳转地址 NumPy 是一个运行速度非常快的数学库,主要用于数组计算。它可以让你在 Python 中使用向量和...

    使用 Python 进行科学计算,
    今天看了一下 使用 Python 进行科学计算 发现写的非常不错, 而且博主强烈要求分享 跳转地址

    NumPy 是一个运行速度非常快的数学库,主要用于数组计算。它可以让你在 Python 中使用向量和数学矩阵,以及许多用 C 语言实现的底层函数,你还可以体验到从未在原生 Python 上体验过的运行速度。

    NumPy 是 Python 在科学计算领域取得成功的关键之一,如果你想通过 Python 学习数据科学或者机器学习,就必须学习 NumPy。我认为 NumPy 的功能很强大,而且入门也不难。

    # 1D Array
    a = np.array([0, 1, 2, 3, 4])
    b = np.array((0, 1, 2, 3, 4))
    c = np.arange(5)
    d = np.linspace(0, 2*np.pi, 5)
    
    print(a) # >>>[0 1 2 3 4]
    print(b) # >>>[0 1 2 3 4]
    print(c) # >>>[0 1 2 3 4]
    print(d) # >>>[ 0.          1.57079633  3.14159265  4.71238898  6.28318531]
    print(a[3]) # >>>3
    

    上边的代码展示了创建数组的四种不同方式。最基本的方式是传递一个序列给 NumPy 的 array() 函数;你可以传给它任意的序列,不仅仅是我们常见的列表之类的。

    注意,当输出的数组中的数值长度不一样的时候,它会自动对齐。这在查看矩阵的时候很有用。数组的索引和 Python 中的列表或其他序列很像。你也可以对它们使用切片,这里我不再演示一维数组的切片,如果你想知道更多关于切片的信息,查看这篇文章。

    上边数组的例子给你展示了如何在 NumPy 中表示向量,接下来我将带你们领略一下怎么表示矩阵和多维数组。

    # MD Array,
    a = np.array([[11, 12, 13, 14, 15],
                  [16, 17, 18, 19, 20],
                  [21, 22, 23, 24, 25],
                  [26, 27, 28 ,29, 30],
                  [31, 32, 33, 34, 35]])
    
    print(a[2,4]) # >>>25
    

    通过给 array() 函数传递一个列表的列表(或者是一个序列的序列),可以创建二维数组。如果我们想要一个三维数组,那我们就传递一个列表的列表的列表,四维数组就是列表的列表的列表的列表,以此类推。

    注意二维数组是如何成行成列排布的(在我们的朋友–空格的帮助下)。如果要索引一个二维数组,只需要引用相应的行数和列数即可。

    # Array properties
    a = np.array([[11, 12, 13, 14, 15],
                  [16, 17, 18, 19, 20],
                  [21, 22, 23, 24, 25],
                  [26, 27, 28 ,29, 30],
                  [31, 32, 33, 34, 35]])
    
    print(type(a)) # >>><class 'numpy.ndarray'>
    print(a.dtype) # >>>int64
    print(a.size) # >>>25
    print(a.shape) # >>>(5, 5)
    print(a.itemsize) # >>>8
    print(a.ndim) # >>>2
    print(a.nbytes) # >>>200
    

    如你所看,在上边的代码中 NumPy 的数组其实被称为 ndarray。我不知道为什么它被称为 ndarray,如果有人知道请在下边留言!我猜测它是表示 n 维数组(n dimensional array)。

    数组的形状(shape)是指它有多少行和列,上边的数组有五行五列,所以他的形状是(5,5)。

    ‘itemsize’ 属性是每一个条目所占的字节。这个数组的数据类型是 int64,一个 int64 的大小是 64 比特,8 比特为 1 字节,64 除以 8 就得到了它的字节数,8 字节。

    ‘ndim’ 属性是指数组有多少维。这个数组有二维。但是,比如说向量,只有一维。

    ‘nbytes’ 属性表示这个数组中所有元素占用的字节数。你应该注意,这个数值并没有把额外的空间计算进去,因此实际上这个数组占用的空间会比这个值大点。

    展开全文
  • NumPy 是一个运行速度非常快的数学库,主要...NumPy 是 Python科学计算领域取得成功的关键之一,如果你想通过 Python 学习数据科学 或者 机器学习 ,就必须学习 NumPy。我认为 NumPy 的功能很强大,而且入门也不难。

    你可以用 NumPy 做很多有趣的事情。

    NumPy 是一个运行速度非常快的数学库,主要用于数组计算。它可以让你在 Python 中使用向量和数学矩阵,以及许多用 C 语言实现的底层函数,你还可以体验到从未在原生 Python 上体验过的运行速度。

    NumPy 是 Python 在科学计算领域取得成功的关键之一,如果你想通过 Python 学习数据科学 或者 机器学习 ,就必须学习 NumPy。我认为 NumPy 的功能很强大,而且入门也不难。

    数组基础

    创建数组

    NumPy 的核心是数组(arrays)。具体来说是多维数组(ndarrays),但是我们不用管这些。通过这些数组,我们能以闪电般的速度使用像向量和数学矩阵之类的功能。赶紧捡起你的线性代数吧!(只是开玩笑,其实并不需要很多复杂的数学知识)

    # 1D Array
    a = np.array([0, 1, 2, 3, 4])
    b = np.array((0, 1, 2, 3, 4))
    c = np.arange(5)
    d = np.linspace(0, 2*np.pi, 5)
    
    print(a) # >>>[0 1 2 3 4]
    print(b) # >>>[0 1 2 3 4]
    print(c) # >>>[0 1 2 3 4]
    print(d) # >>>[ 0.          1.57079633  3.14159265  4.71238898  6.28318531]
    print(a[3]) # >>>3

    上边的代码展示了创建数组的四种不同方式。最基本的方式是传递一个序列给 NumPy 的 array() 函数;你可以传给它任意的序列,不仅仅是我们常见的列表之类的。

    注意,当输出的数组中的数值长度不一样的时候,它会自动对齐。这在查看矩阵的时候很有用。数组的索引和 Python 中的列表或其他序列很像。你也可以对它们使用切片,这里我不再演示一维数组的切片,如果你想知道更多关于切片的信息,查看 这篇文章 。

    上边数组的例子给你展示了如何在 NumPy 中表示向量,接下来我将带你们领略一下怎么表示矩阵和多维数组。

    # MD Array,
    a = np.array([[11, 12, 13, 14, 15],
                  [16, 17, 18, 19, 20],
                  [21, 22, 23, 24, 25],
                  [26, 27, 28 ,29, 30],
                  [31, 32, 33, 34, 35]])
    
    print(a[2,4]) # >>>25

    通过给 array() 函数传递一个列表的列表(或者是一个序列的序列),可以创建二维数组。如果我们想要一个三维数组,那我们就传递一个列表的列表的列表,四维数组就是列表的列表的列表的列表,以此类推。

    注意二维数组是如何成行成列排布的(在我们的朋友--空格的帮助下)。如果要索引一个二维数组,只需要引用相应的行数和列数即可。

    背后的数学知识

    为了更好的理解这些,我们需要来看一下什么是向量和矩阵。

    向量是一个有方向和大小的量,通常用来表示速度、加速度和动量等。向量能以多种方式书写,但是我们最有用的方式是把它们写在有 n 个元素的元组里边,比如(1, 4, 6, 9)。这就是它们在 NumPy 中的表示方式。

    矩阵和向量很像,除了它是由行和列组成的;更像一个网格(grid)。矩阵中的数值可以用它们所在的行和列来表示。在 NumPy 中,可以像我们前面所做的那样,通过传递序列的序列来创建数组。

    多维数组切片

    多维数组切片比一维数组要复杂一点,同时它也是你在用 NumPy 的时候经常会用到的。

    # MD slicing
    print(a[0, 1:4]) # >>>[12 13 14]
    print(a[1:4, 0]) # >>>[16 21 26]
    print(a[::2,::2]) # >>>[[11 13 15]
                      #     [21 23 25]
                      #     [31 33 35]]
    print(a[:, 1]) # >>>[12 17 22 27 32]

    就像你看到的一样,多维数组切片就是要分别在每个维度上切片,并用逗号隔开。在二维数组中,第一个切片的含义是对行切片,第二个切片的含义是对列切片。

    值得注意的是,你通过输入数字来指定行和列。上边第一个例子是从数组中选择第 0 行。

    下边的这幅图阐明了上边切片的例子的含义。


    数组属性

    在使用 NumPy 时,你会想知道数组的某些信息。很幸运,在这个包里边包含了很多便捷的方法,可以给你想要的信息。

    # Array properties
    a = np.array([[11, 12, 13, 14, 15],
                  [16, 17, 18, 19, 20],
                  [21, 22, 23, 24, 25],
                  [26, 27, 28 ,29, 30],
                  [31, 32, 33, 34, 35]])
    
    print(type(a)) # >>><class 'numpy.ndarray'>
    print(a.dtype) # >>>int64
    print(a.size) # >>>25
    print(a.shape) # >>>(5, 5)
    print(a.itemsize) # >>>8
    print(a.ndim) # >>>2
    print(a.nbytes) # >>>200

    如你所看,在上边的代码中 NumPy 的数组其实被称为 ndarray。我不知道为什么它被称为 ndarray,如果有人知道请在下边留言!我猜测它是表示 n 维数组(n dimensional array)。

    数组的形状(shape)是指它有多少行和列,上边的数组有五行五列,所以他的形状是(5,5)。

    'itemsize' 属性是每一个条目所占的字节。这个数组的数据类型是 int64,一个 int64 的大小是 64 比特,8 比特为 1 字节,64 除以 8 就得到了它的字节数,8 字节。

    'ndim' 属性是指数组有多少维。这个数组有二维。但是,比如说向量,只有一维。

    'nbytes' 属性表示这个数组中所有元素占用的字节数。你应该注意,这个数值并没有把额外的空间计算进去,因此实际上这个数组占用的空间会比这个值大点。

    使用数组

    基本操作符

    仅仅会赋值、取值和得到一些属性是不能满足你的需求的,有时候你还需要做一些数学运算。你可以利用基本的操作符实现这些,比如 +, -, /,等等。

    # Basic Operators
    a = np.arange(25)
    a = a.reshape((5, 5))
    
    b = np.array([10, 62, 1, 14, 2, 56, 79, 2, 1, 45,
                  4, 92, 5, 55, 63, 43, 35, 6, 53, 24,
                  56, 3, 56, 44, 78])
    b = b.reshape((5,5))
    
    print(a + b)
    print(a - b)
    print(a * b)
    print(a / b)
    print(a ** 2)
    print(a < b) print(a > b)
    
    print(a.dot(b))

    除了 dot() 之外,这些操作符都是对数组进行逐元素运算。比如 (a, b, c) + (d, e, f) 的结果就是 (a+d, b+e, c+f)。它将分别对每一个元素进行配对,然后对它们进行运算。它返回的结果是一个数组。注意,当使用逻辑运算符比如 “<” 和 “>” 的时候,返回的将是一个布尔型数组,这点有一个很好的用处,后边我们会提到。

    dot() 函数计算两个数组的点积。它返回的是一个标量(只有大小没有方向的一个值)而不是数组。

    背后的数学知识

    dot() 函数有时候也称为点积。理解这个函数的最好方法就是看下边它的计算过程。


    数组的特定操作符

    NumPy 还提供了一些其他很有用的操作符,用于处理数组。

    # dot, sum, min, max, cumsum
    a = np.arange(10)
    
    print(a.sum()) # >>>45
    print(a.min()) # >>>0
    print(a.max()) # >>>9
    print(a.cumsum()) # >>>[ 0  1  3  6 10 15 21 28 36 45]

    很明显就能看出 sum()、min() 和 max() 函数的功能:将所有元素加起来,找到最小值和最大值。

    cumsum() 函数就不是那么明显了。它像 sum() 那样把所有元素加起来,但是它的实现方式是,第一个元素加到第二个元素上,把结果保存到一个列表里,然后把结果加到第三个元素上,再保存到列表里,依次累加。当遍历完数组中所有元素则结束,返回值为运行数组的总和的列表。

    cumsum() 就是一个累加计算并且保存每次累加的结果,返回值就是包含所有累加结果的一个列表。比如 np.array([1, 2, 3, 4, 5]).cumsum() = [1, 3, 6, 10, 15]

    高级索引

    花俏的索引

    “花俏的索引”是获取数组中我们想要的特定元素的有效方法。

    # Fancy indexing
    a = np.arange(0, 100, 10)
    indices = [1, 5, -1]
    b = a[indices]
    print(a) # >>>[ 0 10 20 30 40 50 60 70 80 90]
    print(b) # >>>[10 50 90]

    如你所见,上边的例子中,我们用想获取的索引的序列作为索引。它返回了我们索引的元素。

    布尔屏蔽(boolean masking)

    布尔屏蔽是一个奇妙的特性,它允许我们根据指定条件获取数组中的元素。

    # Boolean masking
    import matplotlib.pyplot as plt
    
    a = np.linspace(0, 2 * np.pi, 50)
    b = np.sin(a)
    plt.plot(a,b)
    mask = b >= 0
    plt.plot(a[mask], b[mask], 'bo')
    mask = (b >= 0) & (a <= np.pi / 2)
    plt.plot(a[mask], b[mask], 'go')
    plt.show()

    上边的代码展示了实现布尔屏蔽。你需要做的就是传递给数组一个与它有关的条件式,然后它就会返回给定条件下为真的值。

    上边的例子将会生成下边这幅图:


    我们用条件式选择了图中不同的点。蓝色的点(也包含图中的绿点,只是绿点覆盖了蓝点),显示的是值大于零的点。绿点显示的是值大于 0 小于 Pi / 2 的点。

    缺省索引

    缺省索引是从多维数组的第一维获取索引和切片便捷方法。例如,你有一个数组 a = [[1, 2, 3, 4, 5], [6, 7, 8, 9, 10]],那么 a[3] 将会返回数组第一维中索引值为 3 的元素,这里的结果是 4。

    # Incomplete Indexing
    a = np.arange(0, 100, 10)
    b = a[:5]
    c = a[a >= 50]
    print(b) # >>>[ 0 10 20 30 40]
    print(c) # >>>[50 60 70 80 90]

    Where 函数

    where() 函数是另外一个根据条件返回数组中的值的有效方法。只需要把条件传递给它,它就会返回一个使得条件为真的元素的列表。

    # Where
    a = np.arange(0, 100, 10)
    b = np.where(a < 50) 
    c = np.where(a >= 50)[0]
    print(b) # >>>(array([0, 1, 2, 3, 4]),)
    print(c) # >>>[5 6 7 8 9]

    这就是 NumPy,不算太难,对吧?当然,这些只是一些基础,NumPy 还有很多其他的功能,如果你已经熟悉了这些基础内容,你可以去探索一下。

    不要忘了分享!

    要记得,不要忘了分享这篇文章,这样其他人就也可以看到了!

    欢迎关注微信公众号,与您分享更多精彩内容!


    展开全文
  • NumPy是使用Python进行科学计算所需的基础软件包 NumPy 是使用 Python 进行科学计算所需的基本包。 网站:https://www.numpy.org 文档:https://numpy.org/doc 邮件列表:...
  • Python用于科学计算的一些常用工具和库 IPython-增强的交互环境:支持变量自动补全,自动缩进,支持 bash shell命令,内置了许多很有用的功能和函数Spyder、Wing IDE或Eclipse/Pydev:集成开发环境NumPy-数学...
  • PyQt5是基于Digia公司强大的图形程式框架Qt5的python接口,由一组python模块构成。PyQt5本身拥有超过620个类和6000函数及方法。...以下是小编为你整理的python科学计算入门教程QtCore模块涵盖了包的核心的非...
  • Math Inspector是一个基于numpy和scipy的用于科学计算的可视化编程环境。 适合所有年龄段和技能水平的用户。 Math Inspector https://mathinspector.com/ Math Inspector是一个基于numpy和scipy的用于科学计算的可视...
  • Python Scipy 科学计算

    2019-03-22 20:25:43
      Scipy是一个用于数学、科学、工程领域的常用软件包,可以处理插值、积分、优化、图像处理、常微分方程数值解的求解、信号处理等问题。它用于有效计算Numpy矩阵,使Numpy和Scipy协同工作,高效解决问题。   ...
  • Ref: ... 1,计算向量的点乘和向量的模 np.dot(feature[i,:],feature[j,:]) (np.linalg.norm(feature[i,:])*np.linalg.norm(feature[j,:]))
  • 今天更新了两个python模块,一个是用于科学计算的numpy模块,另一个是用于绘图的matplotlib模块 python安装模块还是很方便的,安装了pip之后直接使用"pip install ***"后面是模块名称,就能够自动下载安装 模块可以...
  • 一、numpy用NumPy快速处理数据NumPy 是一个运行速度非常快的数学库,主要用于数组计算,包含:矩阵运算jupyter快捷键1、ndarray 对象ndarray 实际上是多维数组的含义。在 NumPy 数组中,维数称为秩(rank),一维...
  • 而Scipy(会在接下来的帖子中提及)当然是另一个主要的也十分出色的科学计算库,但是我认为前三者才是真正的Python科学计算的支柱。所以,不需要太多精力,让我们马上开始Python科学计算系列的第三帖——Pandas。...
  • Python科学计算

    2021-03-26 17:15:28
    Python 科学计算 NumPy(MatLab 替代品之一) 数组的算数和逻辑运算 傅立叶变换和用于图形操作的例程 与线性代数有关的操作。 NumPy 拥有线性代数和随机数生成的内置函数 frmemeta SciPy(科学计算) SciPy是一个...
  • 你可以用 NumPy 做很多有趣的事情。 NumPy 是一个运行速度非常快的数学库,主要用于数组计算...NumPy 是 Python科学计算领域取得成功的关键之一,如果你想通过 Python 学习数据科学或者机器学习,就必须学习 NumP
  • 用于科学计算Python 发行版: 1、Anaconda https://www.continuum.io/ 公司continuum。 有商业版本。 Anaconda is the leading open data science platform powered by Python. The open source version of ...
  • Enthought Canopy: Easy Python Deployment Plus Integrated Analysis Environment for Scientific Computing, Data Analysis and EngineeringFREE for all users: Canopy Express, which includes access to 2...
  • 随着NumPy、SciPy、matplotlib、ETS等众多程序库的开发,Python越来越适合于做科学计算。与科学计算领域最流行的商业软件MATLAB相比,Python是一门真正的通用程序设计语言,比MATLAB所采用的脚本语言的应用范...
  • NumPy是使用Python进行科学计算的基础包。 它包含其他内容: 一个强大的N维数组对象 复杂的(广播)功能 用于集成C / C ++和Fortran代码的工具 有用的线性代数,傅里叶变换和随机数功能 除了...
  • Day03 - Python中科学计算库Numpy基本使用 ...本节我们将会学习Python用于科学计算的第三方库之Numpy。在学习了Python中的基本知识后,我们开始学习机器学习中的常用的知识了。NumPy是一个开源的Pyth...
  • 关于python科学计算库numpy学习总结

    千次阅读 2017-08-15 14:20:49
    本文为本人在学习优矿——量化分析师的Python日记【第3天:一大波金融Library来袭之numpy篇】 https://uqer.io/community/share/54ca15f9f9f06c276f651a56一文时的学习总结记录,包括对于python用于科学计算的基础库...
  • PyQt5是基于Digia公司强大的图形程式框架Qt5的python接口,由一组python模块构成。PyQt5本身拥有超过620个类和6000函数及方法。...以下是小编为你整理的python科学计算入门教程QtCore模块涵盖了包的核心的非...
  • Python是一种强大的编程语言,其提供了很多用于科学计算的模块,常见的包括numpy、scipy、pandas和matplotlib。要利用Python进行科学计算,就需要一一安装所需的模块,而这些模块可能又依赖于其它的软件包或库,因而...
  • numpy(NumericalPython extensions)是一个第三方的Python包,用于科学计算。这个库的前身是1995年就开始开发的一个用于数组运算的库。经过了长时间的发展,基本上成了绝大部分Python科学计算的基础包,当然也包括...
  • umpy(Numerical Python extensions)是一个第三方的Python包,用于科学计算。这个库的前身是1995年就开始开发的一个用于数组运算的库。经过了长时间的发展,基本上成了绝大部分Python科学计算的基础包,当然也包括...
  • 使用python进行科学计算,并使用pyqt5进行图形界面设计,内部使用sqlite3单机数据库,最终利用pyinstall转换成exe软件,全程实现,对源码稍加修改即可用于任意科学计算和自动化。
  • Day04 - Python科学计算库pandas基本使用 参考代码链接:https://pan.baidu.com/s/1TnsQnoe3AIXnlbi1SkkC0A   提取码:znk2 1,pandas简介 pandas是基于numpy的一个开源python库,被广泛用于快速...
  • Python科学计算之Pandas

    2021-01-27 13:33:11
    而Scipy(会在接下来的帖子中提及)当然是另一个主要的也十分出色的科学计算库,但是我认为前三者才是真正的Python科学计算的支柱。我们首先要导入我们的演出明星——Pandas。 这是导入Pandas的标准方式。显然,我们...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,897
精华内容 1,158
关键字:

python用于科学计算

python 订阅