<jupyter_start><jupyter_text>03 numpy.array 基础<jupyter_code>import numpy as np<jupyter_output><empty_output><jupyter_text>Python List的特点每一个元素可以是任意类型,因此效率较低无矩阵运算相关的函数<jupyter_code>lst = [i for i in range(10)]
lst
lst[2] = 100
lst
lst[2] = 'Test'  # 元素类型改为字符串
lst
import array

arr = array.array('i',[i for i in range(10)])  # 'i'表示元素类型为整型
arr

# 无法将元素修改为字符串
arr[2] = 'Test'  # 报错了
# 如果修改为浮点数,会报错
arr[1] = 1.0

# array的缺点是没有将数据当做向量或者矩阵，不支持基本运算。
nparr = np.array([i for i in range(10)])
nparr
# 无法将元素修改为字符串
nparr[2] = 'Test'  # 报错了

# 如果修改为浮点数,会隐式转换为Int类型,丢失精度
nparr[2] = 4.33
print(nparr)  # 发现第三个元素是整数4
print('nparr数据类型为:',nparr.dtype)
# 如果一开始np的array定义为float,会怎样?
nparr2 = np.array([1,2,3,4,5.44,6.44,7.66])
print(nparr2)
print('nparr2数据类型为:',nparr2.dtype)<jupyter_output>[1.   2.   3.   4.   5.44 6.44 7.66]
nparr2数据类型为: float64
{'fraction_non_alphanumeric': 0.158021712907117, 'fraction_numerical': 0.06755126658624849, 'mean_word_length': 5.693548387096774, 'pattern_counts': {'":': 0, '<': 8, '<?xml version=': 0, '>': 8, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'chain_length': '2', 'dir': 'jupyter-structured-clean-dedup', 'id': '451534', 'license': 'MIT', 'n_tokens_mistral': 533, 'n_tokens_neox': 551, 'n_words': 68, 'path': 'ml/02-Jupyter-Notebook-Numpy-and-Matplotlib/03-Numpy-Array-Basics.ipynb', 'repo_name': 'dhb15735104415/MLlearning-notes', 'size': '829'}