1 数据分析必备的NumPy技巧(Python)-德赢Vwin官网 网
0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

数据分析必备的NumPy技巧(Python)

zhKF_jqr_AI 来源:未知 作者:邓佳佳 2018-03-05 15:41 次阅读

前言

NumPy系统是Python的一种开源的数值计算扩展,它也是是Python数据分析必不可少的第三方库。近日,国外博主Selva Prabhakaran制作了101道真题,为熟悉/不熟悉NumPy的“后备数据科学家”们提供了一个检测自己水平的机会,你不想来挑战一下吗?本文中的NumPy真题旨在提供一个参考,读者可以借此测试自己数据分析技巧的掌握水平。

1.导入NumPy并查看版本

难度:L1

01

导入NumPy并将它并名为np,输出版本信息

点击空白处查看答案

import numpy as np

print(np.__version__)

#> 1.13.3

无论你要做什么,你必须在其他代码前先输入import numpy as np,这之后它才能正常工作。如果还没有安装,你可以去anaconda下载

2.如何创建一维数组?

难度:L1

02

创建一个包含数字0-9的一维数组:#> array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])。

点击空白处查看答案

arr = np.arange(10)

arr

#> array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])

3.如何创建布尔型数组?

难度:L1

03

创建一个3×3的,所有填充为True的数组。

点击空白处查看答案

np.full((3, 3), True, dtype=bool)

#> array([[ True, True, True],

#> [ True, True, True],

#> [ True, True, True]], dtype=bool)

# Alternate method:

np.ones((3,3), dtype=bool)

4.如何从一维数组中索引符合条件的元素?

难度:L1

04

从输入arr中筛选出所有奇数。

输入:

arr = np.array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])`

期望的输出:

#> array([1, 3, 5, 7, 9])

# Input

arr = np.array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])

# Solution

arr[arr % 2 == 1]

#> array([1, 3, 5, 7, 9])

5.如何用另一个值替换数组中符合条件的元素?

难度:L1

05

用-1替换输入arr中的所有奇数。

输入:

arr = np.array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])

期望的输出:

#> array([ 0, -1, 2, -1, 4, -1, 6, -1, 8, -1])

点击空白处查看答案

arr[arr % 2 == 1] = -1

arr

#> array([ 0, -1, 2, -1, 4, -1, 6, -1, 8, -1])

6.如何在确保输入数组不变的同时替换数组中符合条件的元素?

难度:L2

06

用-1替换输入arr中的所有奇数,但不能改变arr。

输入:

arr = np.array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])

期望的输出:

out#> array([ 0, -1, 2, -1, 4, -1, 6, -1, 8, -1])arr#> array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])

arr = np.arange(10)

out = np.where(arr % 2 == 1, -1, arr)

print(arr)

out

#> [0 1 2 3 4 5 6 7 8 9]

array([ 0, -1, 2, -1, 4, -1, 6, -1, 8, -1])

7.如何重组数组?

难度:L1

07

将一维数组转换为有2行的二维数组。

输入:

np.arange(10)#> array([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9])

期望的输出:

#> array([[0, 1, 2, 3, 4],#> [5, 6, 7, 8, 9]])

arr = np.arange(10)

arr.reshape(2, -1) # Setting to -1 automatically decides the number of cols

#> array([[0, 1, 2, 3, 4],

#> [5, 6, 7, 8, 9]])

8.如何垂直合并两个数组?

难度:L2

08

将数组a和数组b垂直合并。

输入:

a = np.arange(10).reshape(2,-1)b = np.repeat(1, 10).reshape(2,-1)

期望的输出:

#> array([[0, 1, 2, 3, 4],

#> [5, 6, 7, 8, 9],

#> [1, 1, 1, 1, 1],

#> [1, 1, 1, 1, 1]])

a = np.arange(10).reshape(2,-1)

b = np.repeat(1, 10).reshape(2,-1)

# Answers

# Method 1:

np.concatenate([a, b], axis=0)

# Method 2:

np.vstack([a, b])

# Method 3:

np.r_[a, b]

#> array([[0, 1, 2, 3, 4],

#> [5, 6, 7, 8, 9],

#> [1, 1, 1, 1, 1],

#> [1, 1, 1, 1, 1]])

9.如何水平合并两个数组?

难度:L2

09

将数组a和数组b水平合并。

输入:

a = np.arange(10).reshape(2,-1)b = np.repeat(1, 10).reshape(2,-1)

期望的输出:

#> array([[0, 1, 2, 3, 4, 1, 1, 1, 1, 1],#> [5, 6, 7, 8, 9, 1, 1, 1, 1, 1]])

a = np.arange(10).reshape(2,-1)

b = np.repeat(1, 10).reshape(2,-1)

# Answers

# Method 1:

np.concatenate([a, b], axis=1)

# Method 2:

np.hstack([a, b])

# Method 3:

np.c_[a, b]

#> array([[0, 1, 2, 3, 4, 1, 1, 1, 1, 1],

#> [5, 6, 7, 8, 9, 1, 1, 1, 1, 1]])

10.如何在没有hardcode的情况下在NumPy里生成自定义数组?

难度:L2

10

在没有hardcode的情况下,用数组a和NumPy函数输出以下目标数组。

输入:

a = np.array([1,2,3])

期望的输出:

#> array([1, 1, 1, 2, 2, 2, 3, 3, 3, 1, 2, 3, 1, 2, 3, 1, 2, 3])

点击空白处查看答案

np.r_[np.repeat(a, 3), np.tile(a, 3)]

#> array([1, 1, 1, 2, 2, 2, 3, 3, 3, 1, 2, 3, 1, 2, 3, 1, 2, 3])

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表德赢Vwin官网 网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 数据分析
    +关注

    关注

    2

    文章

    1445

    浏览量

    34047
  • python
    +关注

    关注

    56

    文章

    4792

    浏览量

    84623

原文标题:真题演练(一):数据分析必备的NumPy技巧(Python)

文章出处:【微信号:jqr_AI,微信公众号:论智】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    数据可视化与数据分析的关系

    在当今这个信息爆炸的时代,数据无处不在。无论是企业运营、科学研究还是个人决策,我们都需要从海量的数据中提取有价值的信息。数据分析数据可视化作为两个关键的工具,它们帮助我们理解、解释和
    的头像 发表于 12-06 17:09 321次阅读

    LLM在数据分析中的作用

    随着大数据时代的到来,数据分析已经成为企业和组织决策的关键工具。数据科学家和分析师需要从海量数据中提取有价值的信息,以支持业务决策。在这个过
    的头像 发表于 11-19 15:35 246次阅读

    eda与传统数据分析的区别

    EDA(Exploratory Data Analysis,探索性数据分析)与传统数据分析之间存在显著的差异。以下是两者的主要区别: 一、分析目的和方法论 EDA 目的 :EDA的主要目的是对
    的头像 发表于 11-13 10:52 300次阅读

    raid 在大数据分析中的应用

    RAID(Redundant Array of Independent Disks,独立磁盘冗余阵列)在大数据分析中的应用主要体现在提高存储系统的性能、可靠性和容量上。以下是RAID在大数据分析
    的头像 发表于 11-12 09:44 223次阅读

    云计算在大数据分析中的应用

    云计算在大数据分析中的应用广泛且深入,它为用户提供了存储、计算、分析和预测的强大能力。以下是对云计算在大数据分析中应用的介绍: 一、存储和处理海量数据 云计算提供了强大的存储和计算能力
    的头像 发表于 10-24 09:18 431次阅读

    使用AI大模型进行数据分析的技巧

    使用AI大模型进行数据分析的技巧涉及多个方面,以下是一些关键的步骤和注意事项: 一、明确任务目标和需求 在使用AI大模型之前,首先要明确数据分析的任务目标,这将直接影响模型的选择、数据收集和处理方式
    的头像 发表于 10-23 15:14 686次阅读

    IP 地址大数据分析如何进行网络优化?

    一、大数据分析在网络优化中的作用 1.流量分析数据分析可以对网络中的流量进行实时监测和分析,了解网络的使用情况和流量趋势。通过对流量数据
    的头像 发表于 10-09 15:32 227次阅读
    IP 地址大<b class='flag-5'>数据分析</b>如何进行网络优化?

    网络爬虫,Python数据分析

    德赢Vwin官网 网站提供《网络爬虫,Python数据分析.pdf》资料免费下载
    发表于 07-13 09:27 1次下载

    数据分析除了spss还有什么

    数据分析是当今世界中一个非常重要的领域,它涉及到从大量数据中提取有用信息、发现模式和趋势,并为决策提供支持。SPSS(Statistical Package for the Social
    的头像 发表于 07-05 15:01 604次阅读

    数据分析的工具有哪些

    数据分析是一个涉及收集、处理、分析和解释数据以得出有意义见解的过程。在这个过程中,使用正确的工具至关重要。以下是一些主要的数据分析工具,以及它们的功能和用途的介绍。 Excel Exc
    的头像 发表于 07-05 14:54 845次阅读

    数据分析有哪些分析方法

    数据分析是一种重要的技能,它可以帮助我们从大量的数据中提取有价值的信息,从而做出更明智的决策。在这篇文章中,我们将介绍数据分析的各种方法,包括描述性分析、诊断性
    的头像 发表于 07-05 14:51 566次阅读

    机器学习在数据分析中的应用

    随着大数据时代的到来,数据量的爆炸性增长对数据分析提出了更高的要求。机器学习作为一种强大的工具,通过训练模型从数据中学习规律,为企业和组织提供了更高效、更准确的
    的头像 发表于 07-02 11:22 610次阅读

    求助,关于AD采集到的数据分析问题

    问题描述:使用AD采集一个10Hz到2MHz的脉冲,脉冲底部可能大于零,由采集到的数据分析出该脉冲的上升时间,幅值和占空比。 备注:在分析的时候已经知道脉冲的频率,精度为2X10^-5. 在分析
    发表于 05-09 07:40

    python 学习:在内网中 python库-numpy 安装方法,升级pip3版本的指令

    \\\\numpy-1.26.4-cp311-cp311-win_amd64.whl 内网中升级pip 升级版本的指令: python.exe -m pip install --upgrade pip--proxy \"http://gateway.schneider.z
    发表于 04-22 17:18

    态势数据分析系统软件

    智慧华盛恒辉态势分析软件系统的功能描述、部署环境、界面使用、技术支持及一些常见问题及其解决办法等。为数据态势分析软件系统的管理人员和使用人员提供说明。 智慧华盛恒辉态势数据分析系统软件
    的头像 发表于 04-22 11:36 442次阅读