01 使用numpy处理数据、ndarry创建

简介: == 传统处理数据,给每个人的成绩加10分 ==scores=[89,33,11]for i in scores: print(i+10)type(scores)99 43 21list=== 使用numpy处理数据 ===1、 ...

== 传统处理数据,给每个人的成绩加10分 ==

scores=[89,33,11]
for i in scores:
    print(i+10)
type(scores)

99 43 21
list

=== 使用numpy处理数据 ===

1、 引入numpy的包

import numpy as np

2、 把Python序列转换为ndarray

nd_scores = np.array(scores)
nd_scores

[89 33 11]
numpy.ndarray
元组、列表都可以转ndarray

3、 numpy运算

nd_scores+10

array([99, 43, 21])
多维数组也可以完成运算

scores = [[[1,2],[2,1]],[[3,2],[2,3]],[[4,5],[5,4]]]
nd_scores = np.array(scores)
nd_scores+10

array([[[11, 12], [12, 11]], [[13, 12], [12, 13]], [[14, 15], [15, 14]]])

=== 创建全零数组 zeros(维度) ===

np.zeros([4,3,2])

array([[[ 0., 0.], [ 0., 0.], [ 0., 0.]],
[[ 0., 0.], [ 0., 0.], [ 0., 0.]],
[[ 0., 0.], [ 0., 0.], [ 0., 0.]],
[[ 0., 0.], [ 0., 0.], [ 0., 0.]]])

=== 全1数组 ones(维度) ===

np.ones(10)

array([ 1., 1., 1., 1., 1., 1., 1., 1., 1., 1.])

=== 空数组(效率高,但值不确定) ===

np.empty([10,10])

=== 随机数组 ===

1、 随机变量(0-1)之间

np.random.random([3,3])

2、 randint(start,end,维度) 随机变量(0~100)之间

np.random.randint(0,100,[3,3])

array([[62, 9, 64],
[72, 75, 82],
[87, 10, 37]])

3、 randn(维度1,维度2,维度3) 正态分布

np.random.randn(3,3)

array([[ 0.19903116, 1.42663184, -1.06911124],
[-0.40775623, -0.31115808, 0.28252054],
[-1.25061248, -0.4549277 , -0.40148327]])

=== 创建 从n-m的数组,指定步长 ===

arange(start,end,step)

np1 = np.arange(0,100,1)
np1

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, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99])

=== 等差数列 ===

linspace(start,end,num=50)

np2 = np.linspace(0,10,5)
np2

array([ 0. , 2.5, 5. , 7.5, 10. ])

=== 等比数列 ===

logspace(start,end,num,base=10)
10的start次方,10的end次方,一共10个数,默认底数为10

np3 = np.logspace(0,9,10,base=2)
np3

array([ 1., 2., 4., 8., 16., 32., 64., 128., 256., 512.])

相关文章
|
7月前
|
存储 机器学习/深度学习 Python
NumPy 高级教程——存储和加载数据
NumPy 高级教程——存储和加载数据 【1月更文挑战第1篇】
224 3
NumPy 高级教程——存储和加载数据
|
5月前
|
机器学习/深度学习 数据可视化 搜索推荐
Python在社交媒体分析中扮演关键角色,借助Pandas、NumPy、Matplotlib等工具处理、可视化数据及进行机器学习。
【7月更文挑战第5天】Python在社交媒体分析中扮演关键角色,借助Pandas、NumPy、Matplotlib等工具处理、可视化数据及进行机器学习。流程包括数据获取、预处理、探索、模型选择、评估与优化,以及结果可视化。示例展示了用户行为、话题趋势和用户画像分析。Python的丰富生态使得社交媒体洞察变得高效。通过学习和实践,可以提升社交媒体分析能力。
87 1
|
7月前
|
数据可视化 Linux Python
NumPy 随机数据分布与 Seaborn 可视化详解
数据分布是指数据集中所有可能值出现的频率,并用概率来表示。它描述了数据取值的可能性。 Seaborn 是一个基于 Matplotlib 的 Python 数据可视化库,用于创建统计图表。它提供了一系列高级绘图函数,可以轻松创建美观且信息丰富的统计图形。
|
3月前
|
数据处理 Python
Python数据转换:从Pandas到NumPy转换
Python数据转换:从Pandas到NumPy转换
58 0
|
4月前
|
存储 数据格式 Python
如何使用 numpy 加载 txt 文件数据?
【8月更文挑战第30天】
126 0
|
5月前
|
数据采集 数据挖掘 大数据
Pandas是Python数据分析的核心库,基于NumPy,提供DataFrame结构处理结构化数据
【7月更文挑战第5天】Pandas是Python数据分析的核心库,基于NumPy,提供DataFrame结构处理结构化数据。它支持缺失值处理(dropna()、fillna())、异常值检测(Z-Score、IQR法)和重复值管理(duplicated()、drop_duplicates())。此外,数据转换包括类型转换(astype())、数据标准化(Min-Max、Z-Score)以及类别编码(get_dummies())。这些功能使得Pandas成为大数据预处理的强大工具。
60 0
|
7月前
|
数据可视化 Linux Python
NumPy 随机数据分布与 Seaborn 可视化详解
本文介绍了数据分布的概念,它是统计学和数据科学的基础,描述了数据可能出现的频率。NumPy的`random`模块支持生成不同分布的随机数,如`choice`用于离散分布,`randn`和`rand`等用于连续分布。此外,还介绍了数组的随机洗牌和排列。通过Seaborn库,可以创建统计图表,如`distplot()`函数用于绘制数据分布图,包括正态分布和自定义分布。最后,文章提供了相关练习及解决方案。
205 0
|
机器学习/深度学习 存储 数据挖掘
【100天精通Python】Day53:Python 数据分析_NumPy数据操作和分析进阶
【100天精通Python】Day53:Python 数据分析_NumPy数据操作和分析进阶
90 0
|
7月前
|
数据挖掘 C语言 Python
使用NumPy进行高效数据模拟的实践
【4月更文挑战第17天】本文介绍了使用Python的NumPy库进行高效数据模拟的方法。NumPy是科学计算的基础库,提供高性能的多维数组对象和相关函数。利用NumPy进行数据模拟的优势包括高性能、易用性和灵活性。文章展示了如何生成随机数,如均匀分布、正态分布,并演示了多维数组和自定义分布的模拟。同时,强调了设置随机数种子、选择合适数据类型及优化性能的重要性。掌握NumPy数据模拟技巧对数据分析和科学研究大有裨益。
|
7月前
|
存储 并行计算 数据挖掘
利用Numpy和Pandas对地铁客量数据进行实战分析(附源码)
利用Numpy和Pandas对地铁客量数据进行实战分析(附源码)
122 2