一:简介:
在进行数值模拟或者建立数据模型前,需要将实验数据进行数据清洗和预处理。本文主要介绍数据清洗的常见步骤和技巧。
二:生成模拟数据
1、生成线性数据
ndarray = numpy.linspace(start, stop, num, endpoint, retstep, dtype=None)
ndarray = numpy.arange(start, end, step)
list = range(start, end, step)
import numpy as np
#numpy库中的linspace()方法-------
#一个是产生线性数据的方法,参数(起始值,末端值,一共插入多少个数,endpoint="True"是否包含末端
#值,retstep="True"是否包含步长,dtype=‘int’:数据类型)
data1 = np.linspace(0,100,101,endpoint="True")
print(type(data1))
#res: <class 'numpy.ndarray'>
#numpy.arange()函数-----------
# arange(start, end, step),以start开始,以stop终止,不包含末尾值,步长为step,默认步长为1。
# 可以使用float型数据。当未指定start及stop时,以固定步长1生成以0开头的若干个数字。
x=np.arange(1,10,2)
# array([1, 3, 5, 7, 9])
x=np.arange(1,10)
# array([1, 2, 3, 4, 5, 6, 7, 8, 9])
x=np.arange(5)
# array([0, 1, 2, 3, 4])
x=np.arange(1.2,3)
# array([1.2, 2.2])
x=np.arange(1.2,3,0.5)
# array([1.2, 1.7, 2.2, 2.7])
#range()函数----------------
#range(start, end, step),返回一个list对象,起始值为start,终止值为end,但不含终止值,步长为#step。只能创建int型list。
x=list(range(1,10))
#[1, 2, 3, 4, 5, 6, 7, 8, 9]
x=list(range(1,10,2))
#[1, 3, 5, 7, 9]
x=list(range(1.0,10,2)) #不支持float类型
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-51-e5e38bc19724> in <module>
----> 1 x=list(range(1.0,10,2))
2 x
TypeError: 'float' object cannot be interpreted as an integer
2、随机生成数据:
1)random 模块中的随机数
import random
#生成随机数据------------------------------
# 1、random.random() 函数:这会生成一个 0 到 1 之间的随机浮点数。
# 每次调用 random() 函数都会得到一个不同的随机数。
num1 = random.random()
# 2、random.randint() 函数:这会生成一个指定范围内的随机整数(
# 在这个例子中是 1 到 10 之间的整数)。边界值都是包含在内的。
num2 = random.randint(1,10)
# 3、random.choice() 函数:这会从列表中随机选择一个元素。
items = [1, 2, 3, 4, 5]
num3 = random.choice(items)
# 4、random.huffle() 函数:这会将列表中的元素随机打乱顺序。
ite