📜  python 随机化数据框 pandas - Python (1)

📅  最后修改于: 2023-12-03 15:04:19.182000             🧑  作者: Mango

Python 随机化数据框 Pandas

在数据分析和机器学习项目中,经常需要创建一个数据集来测试模型或分析算法的性能。然而,手动创建数据集很费时间,这时候一个自动化的数据集生成工具是非常有用的。Pandas 是Python中一个非常流行的数据分析库,提供了创建数据集的方法,本文将介绍如何使用 Pandas 生成随机化数据框。

安装 Pandas

要使用 Pandas 库,首先需要安装它。在终端中运行以下命令:

!pip install pandas
导入 Pandas

在使用前,需要导入 Pandas 库:

import pandas as pd
创建数据框

要创建一个随机化的数据框,可以使用 Pandas 的 DataFrame() 方法,并传递包含数据和列名的字典作为参数。下面的例子创建了一个只包含两列和五个随机值的数据框:

import pandas as pd
import numpy as np

data = {'列1': np.random.rand(5), '列2': np.random.rand(5)}

df = pd.DataFrame(data)
print(df)

该代码将打印出以下内容:

        列1        列2
0  0.586982  0.687434
1  0.803372  0.051374
2  0.806522  0.775065
3  0.847753  0.616631
4  0.717336  0.489153
创建具有随机值的数据框

要创建具有随机值的数据框,可以使用 NumPy 库生成随机值,并将其转换为 Pandas 数据框。下面的例子创建了一个具有随机值和不同数据类型的数据框:

import pandas as pd
import numpy as np

df = pd.DataFrame({
   '整数列': np.random.randint(low=0, high=10, size=5),
   '浮点列': np.random.randn(5),
   '字符串列': ['a', 'b', 'c', 'd', 'e'],
   '布尔列': np.random.choice([True, False], 5),
})
print(df)

该代码将打印出以下内容:

   整数列       浮点列 字符串列   布尔列
0     0 -0.275054     a   True
1     1  1.122786     b   True
2     6 -0.409342     c  False
3     1 -0.639421     d   True
4     9 -0.452732     e  False
随机化数据框

要随机化数据框的行,可以使用 Pandas 的 sample() 方法。下面的例子随机化了数据框的行:

import pandas as pd
import numpy as np

df = pd.DataFrame({
   '列1': np.random.rand(5),
   '列2': np.random.rand(5),
   '列3': np.random.rand(5),
   '列4': np.random.rand(5),
})
print(df)

# Shuffle the rows
df = df.sample(frac=1)
print(df)

该代码将打印出以下内容:

        列1        列2        列3        列4
0  0.758506  0.232348  0.896200  0.651972
1  0.620231  0.458694  0.632766  0.322027
2  0.451623  0.619262  0.273164  0.662149
3  0.279848  0.978599  0.123854  0.311208
4  0.059424  0.852324  0.138707  0.759377

        列1        列2        列3        列4
2  0.451623  0.619262  0.273164  0.662149
3  0.279848  0.978599  0.123854  0.311208
4  0.059424  0.852324  0.138707  0.759377
1  0.620231  0.458694  0.632766  0.322027
0  0.758506  0.232348  0.896200  0.651972
结论

使用 Pandas 和 NumPy,创建随机化的数据框非常容易。这是一个简单而快速的方法,用于测试机器学习模型或分析算法的性能。