Pandas DataFrame.sample(~)
方法随机返回指定的行数或列数。请注意,返回的是一个新副本,即修改返回的DataFrame不会改变源DataFrame。
参数
1.n
| int
| optional
随机样本的大小。默认情况下,n=1
。
2. frac
| float
| optional
随机样本的相对大小。例如,frac=0.6
表示随机样本的大小为值总数的 60%。
警告
仅指定 n
或 frac
- 不能同时指定两者。
3. replace
| boolean
| optional
是否允许从同一行采样。默认情况下,replace=False
。
4. weights
| string
或 array-like
| optional
分配给项目的权重。权重高的项目更有可能被选择。如果权重之和不等于 1,则对它们进行归一化,使总和变为 1。默认情况下为 weights=None
,这意味着分配相等的权重。
5. random_state
| int
或 numpy.random.RandomState
| optional
用于生成随机样本的种子。这用于再现性 - 如果您想获得一致的结果,请指定此参数。
6. axis
| int
或 string
| optional
是否返回行或列:
轴 |
说明 |
---|---|
|
将返回行。 |
|
将返回列。 |
默认情况下,axis=0
。
返回值
一个新的DataFrame,包含随机选择的行或列。
例子
考虑以下 DataFrame :
df = pd.DataFrame({"A":["a","b","c","d"],"B":["e","f","g","h"],"C":["i","j","k","l"]})
df
A B C
0 a e i
1 b f j
2 c g k
3 d h l
基本用法
随机获取 2 行:
df.sample(n=2)
A B C
3 d h l
0 a e i
指定压裂参数
要使样本大小为总行数的一半,请设置 frac=0.5
:
df.sample(frac=0.5)
A B C
2 c g k
0 a e i
这里,总行数的 50% 是 2,所以这就是我们最终得到 2 行的原因。
指定替换参数
要允许选择相同的行,请设置 replace=True
。这意味着现在可能出现以下结果:
df.sample(n=2, replace=True)
A B C
0 a e i
0 a e i
指定权重参数
默认情况下,所有行被选择的概率相同。我们可以通过设置 weights
参数来使某些行更有可能被选择,如下所示:
df.sample(n=1, weights=[0.7 ,0.1, 0.1, 0.1])
A B C
0 a e i
在这里,0
行将在 70% 的时间内被选中,而其他行将分别在 10% 的时间内被选中。请注意,权重之和不必为 1;该方法会自动对权重进行归一化,使总和变为 1。
指定random_state参数
当您需要重现结果时,请设置 random_state
参数,如下所示:
df.sample(n=2, random_state=42)
A B C
1 b f j
3 d h l
现在,无论您运行此方法多少次,结果都将始终相同。你可以把数字 42 给你的朋友,他们也会在他们的机器上得到相同的结果!
指定轴参数
默认情况下,行将随机返回:
df.sample(n=1) # axis=0
A B C
3 d h l
要获取列,请像这样设置axis=1
:
df.sample(n=1, axis=1)
B
0 e
1 f
2 g
3 h
相关用法
- Python PySpark DataFrame sampleBy方法用法及代码示例
- Python PySpark DataFrame sample方法用法及代码示例
- Python Pandas DataFrame swaplevel方法用法及代码示例
- Python Pandas DataFrame set_axis方法用法及代码示例
- Python Pandas DataFrame select_dtypes方法用法及代码示例
- Python PySpark DataFrame selectExpr方法用法及代码示例
- Python PySpark DataFrame show方法用法及代码示例
- Python PySpark DataFrame select方法用法及代码示例
- Python Pandas DataFrame stack方法用法及代码示例
- Python Pandas DataFrame shift方法用法及代码示例
- Python Pandas DataFrame sort_index方法用法及代码示例
- Python Pandas DataFrame size属性用法及代码示例
- Python Pandas DataFrame set_index方法用法及代码示例
- Python Pandas DataFrame swapaxes方法用法及代码示例
- Python PySpark DataFrame sort方法用法及代码示例
- Python Pandas DataFrame sub方法用法及代码示例
- Python Pandas DataFrame sem方法用法及代码示例
- Python Pandas DataFrame sum方法用法及代码示例
- Python Pandas DataFrame std方法用法及代码示例
- Python PySpark DataFrame summary方法用法及代码示例
- Python Pandas DataFrame shape属性用法及代码示例
- Python Pandas DataFrame sort_values方法用法及代码示例
- Python Pandas DataFrame slice_shift方法用法及代码示例
- Python Pandas DataFrame squeeze方法用法及代码示例
- Python Pandas DataFrame empty属性用法及代码示例
注:本文由纯净天空筛选整理自Isshin Inada大神的英文原创作品 Pandas DataFrame | sample method。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。