📜  df.sample(frac=1) - Python (1)

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

使用 df.sample(frac=1) 方法进行数据混洗

在数据处理和机器学习中,数据混洗 (Shuffle) 是经常使用的技术之一,其目的在于避免数据格式对模型训练产生影响,并且使得训练过程更加随机和无偏。

在 Python 中,我们可以使用 pandas 库的 df.sample(frac=1) 方法来实现数据混洗,下面是一些相关信息。

语法格式
df.sample(frac=1, random_state=None, replace=False, weights=None, axis=None)
  • frac: 指定抽样比例,其中抽样比例为原始数据中的一部分(0到1之间的浮点数)。
  • random_state: 指定随机数种子,用于在抽样时产生伪随机序列。
  • replace: 指定是否有重复数据,当为True时允许重复数据,当为False时不允许重复数据。
  • weights: 指定数据权重,即指定数据抽样时每一个数据抽取的概率大小。
  • axis: 指定抽样轴所在方向,可通过 axis=0(默认)对行数据抽样,通过 axis=1 对列数据抽样。
示例代码

以下是一个简单的示例代码,假设我们现在有一个包含 6 条数据的 DataFrame,用于展示如何使用 df.sample(frac=1) 进行数据混洗。

import pandas as pd

df = pd.DataFrame({
    'age': [20, 22, 25, 28, 30, 35],
    'sex': ['M', 'F', 'M', 'M', 'F', 'M'],
    'salary': [6000, 5500, 4500, 8000, 10000, 7000]
})

shuffled_df = df.sample(frac=1)
print(shuffled_df)

输出结果:

   age sex  salary
4   30   F   10000
3   28   M    8000
0   20   M    6000
5   35   M    7000
1   22   F    5500
2   25   M    4500

从输出结果可以看出,原始数据 DataFrame 被打乱并排序,这是使用 df.sample(frac=1) 方法产生的结果。