python笔记

1.NaN(Not a Number)是一个特殊的浮点数类型,表示一个未定义或不可表示的值。

# python中表示NaN
float('nan')

2.列表与数组的区别

列表中的每个元素类型可以不同,数组中的每个元素类型必须相同。

3.一维数据、二维数据、多维数据、高维数据的区别

一维数据:由对等关系的有序或无序数据构成且采用线性方式组织。例如:列表(有序)、集合(无序)、数组(有序)等。

二维数据:由多个一维数据构成,是一维数据的扩展形式。例如:表格(表格中的表头可以是二维数据的一部分,也可以不是)。

多维数据:是一维或二维数据在新的维度上的扩展。例如:二维数据(表格)增加时间的维度。

高维数据:仅利用最基本的二元关系展示数据间的复杂结构。例如:字典类型、数据表示格式(JSON、XML、YAML等)

# 一维数据
# 列表(有序)
list1 = [1, 2, 3, 4]
# 集合(无序)
set1 = {1, 4, 2, 9}

# 二维数据
# 列表
list2 = [[1, 3, 4, 5],
         [6, 67, 47, 53]]

# 多维数据
# 列表
list3 = [[[1, 3, 4, 5],
          [6, 67, 47, 53]],
         [[1, 3, 4, 5],
          [6, 67, 47, 53]]]

# 高维数据
# 字典
dict1 = {"name": "zhangsan",
         "address": {"a": 2,
                     "b": 3},
         "age": 23}

4.CSV文件

CSV(Comma‐Separated Value, 逗号分隔值),是一种常见的文件格式,用来存储批量数据。

注意:CSV只能有效存储一维和二维数组

5.numpy中,假设有一个二维数组a,a[[m1,m2,...,mk]]表示取出数组a的第m1行,第m2行,...,第mk行,返回数组的子数组(仅包含原数组的指定行),这种索引方式称为切片(slicing)或高级索引(advanced indexing)。注意:子数组的修改不会影响原数组。

举一反三:a[:, [m1,m2,...,mk]]表示取出数组a的第m1列,第m2列,...,第mk列

b = np.arange(20)  # [ 0  1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17 18 19]
b.resize((4, 5))  # resize()改变原数组,reshape()不改变原数组
# b
# [[ 0  1  2  3  4]
#  [ 5  6  7  8  9]
#  [10 11 12 13 14]
#  [15 16 17 18 19]]
c = b[[0, 1]]
# c
# [[0 1 2 3 4]
#  [5 6 7 8 9]]
print(b[[0, 1]] == b[:2])
# [[ True  True  True  True  True]
#  [ True  True  True  True  True]]

c = b[:, [0, 1]]
print(c)
# [[ 0  1]
#  [ 5  6]
#  [10 11]
#  [15 16]]

6.分析下列代码

c = np.random.randint(1, 10, size=(5, 5))

c[c % 2 != 0] = 0  # 将数组中的所有奇数都置为0
# 这行代码表示一种条件赋值操作,对数组c中每个元素进行检查。
# c % 2 != 0表示一个布尔数组,如果某个元素为奇数,则返回True
# c[c % 2 != 0]取这些True值所对应的数组c元素的值
# c[c % 2 != 0] = 0 将这些值置为0

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值