python生成数据(二)
1. 使用第三方库生成数据
除了Python标准库,还可以使用第三方库如numpy、pandas等生成更复杂的数据集。例如,使用numpy生成随机数组:
python复制代码
|
import numpy as np |
|
|
|
# 生成一个形状为(5, 3)的随机浮点数数组 |
|
random_array = np.random.rand(5, 3) |
|
print(random_array) |
使用pandas生成随机DataFrame:
python复制代码
|
import pandas as pd |
|
|
|
# 生成一个包含随机整数的DataFrame |
|
random_df = pd.DataFrame(np.random.randint(0, 100, size=(10, 4)), columns=list('ABCD')) |
|
print(random_df) |
2. 生成正态分布数据
在数据分析和机器学习中,经常需要生成符合正态分布的数据。可以使用numpy的random.normal函数来生成:
python复制代码
|
import numpy as np |
|
|
|
# 生成均值为0,标准差为1的正态分布数据 |
|
normal_data = np.random.normal(0, 1, 1000) |
|
print(normal_data) |
3. 生成指定分布的数据
除了正态分布,numpy还提供了其他多种分布的随机数据生成函数,如指数分布、均匀分布等:
python复制代码
|
# 生成指数分布数据 |
|
exponential_data = np.random.exponential(scale=1.0, size=1000) |
|
print(exponential_data) |
|
|
|
# 生成均匀分布数据,范围在[0, 1]之间 |
|
uniform_data = np.random.uniform(low=0.0, high=1.0, size=1000) |
|
print(uniform_data) |
4. 生成时间序列数据
时间序列数据是时间序列分析中的常见数据类型。可以使用pandas和numpy结合生成:
python复制代码
|
import pandas as pd |
|
import numpy as np |
|
|
|
# 生成日期范围 |
|
date_range = pd.date_range(start='2023-01-01', periods=100, freq='D') |
|
|
|
# 生成随机时间序列数据 |
|
time_series_data = pd.Series(np.random.rand(100), index=date_range) |
|
print(time_series_data) |
5. 生成分类数据
在机器学习中,分类数据也是常见的数据类型。可以使用numpy和pandas生成具有分类标签的数据:
python复制代码
|
import pandas as pd |
|
import numpy as np |
|
|
|
# 生成随机分类标签 |
|
labels = np.random.choice(['Class1', 'Class2', 'Class3'], size=100) |
|
|
|
# 创建DataFrame,包含随机数值特征和分类标签 |
|
df = pd.DataFrame(np.random.rand(100, 5), columns=['Feature1', 'Feature2', 'Feature3', 'Feature4', 'Feature5']) |
|
df['Label'] = labels |
|
print(df) |