pandas sample 函数示例
时间: 2023-11-15 16:54:21 浏览: 47
pandas 的 sample 函数可以用于从 DataFrame 或 Series 中随机选择一部分数据,并返回一个新的 DataFrame 或 Series。
函数的基本语法如下:
```python
DataFrame.sample(n=None, frac=None, replace=False, weights=None, random_state=None, axis=None)
```
其中,重要参数的含义如下:
- `n`:要抽取的样本数量。
- `frac`:要抽取的样本比例。
- `replace`:是否允许重复抽取。
- `weights`:每个样本的权重,可以是一个 float 值,也可以是一个与 DataFrame/Series 同样大小的数组。
- `random_state`:随机数种子。
- `axis`:指定抽取样本所在的轴,0 表示行,1 表示列。默认为 0。
下面是一个使用 sample 函数抽取 DataFrame 样本的例子:
```python
import pandas as pd
# 读入 csv 数据
data = pd.read_csv('data.csv')
# 抽取 20 个样本
sample = data.sample(n=20, random_state=42)
# 输出抽样结果
print(sample)
```
相关问题
pandas sample 分层抽样
pandas中的sample函数可以对数据进行简单随机抽样,但如果需要进行分层抽样,可以使用groupby函数和apply函数结合使用,具体步骤如下:
1. 将数据按照分层变量进行分组
```
grouped = df.groupby('stratum_variable')
```
2. 对每个分组进行apply操作,从中抽取样本
```
sampled = grouped.apply(lambda x: x.sample(n=sample_size))
```
其中,sample_size为每个分层的样本大小,可以根据需要进行设置。
完整代码示例:
```
import pandas as pd
# 创建示例数据
data = {'stratum_variable': ['A', 'A', 'A', 'B', 'B', 'B', 'C', 'C', 'C'],
'value': [1, 2, 3, 4, 5, 6, 7, 8, 9]}
df = pd.DataFrame(data)
# 定义分层变量和样本大小
stratum_variable = 'stratum_variable'
sample_size = 2
# 分层抽样
grouped = df.groupby(stratum_variable)
sampled = grouped.apply(lambda x: x.sample(n=sample_size))
print(sampled)
```
输出结果:
```
stratum_variable value
stratum_variable
A 2 A 3
1 A 2
B 5 B 6
4 B 5
C 7 C 8
8 C 9
```
learning pandas sample code
Pandas是一个开源的数据分析和操作库,它提供了大量的功能和方法,使得数据处理更加简单和高效。对于学习Pandas的样本代码,以下是一个简单的示例:
import pandas as pd
# 创建一个DataFrame对象
data = {'Name': ['Tom', 'Nick', 'John', 'Lisa'],
'Age': [25, 30, 28, 35],
'City': ['New York', 'Paris', 'London', 'Tokyo']}
df = pd.DataFrame(data)
# 查看DataFrame的前几行数据
print(df.head())
# 查看DataFrame的基本信息
print(df.info())
# 计算年龄的平均值
print(df['Age'].mean())
# 添加一列数据
df['Gender'] = ['Male', 'Male', 'Male', 'Female']
print(df)
# 根据条件筛选数据
filtered_df = df[df['Age'] > 28]
print(filtered_df)
# 使用函数对数据进行处理
df['City'] = df['City'].apply(lambda x: x.upper())
print(df)
上述代码首先导入了pandas库,并创建了一个包含姓名、年龄和城市的DataFrame对象。接着使用head()函数查看了DataFrame的前几行数据,并使用info()函数查看了DataFrame的基本信息,包括列名、数据类型和缺失值等。然后使用mean()函数计算了年龄的平均值。接下来使用了assign()方法添加了一列数据,然后使用条件进行筛选,只保留年龄大于28的数据。最后使用了apply()函数,对城市列中的每个值都进行了大写转换。
通过学习和理解上述样本代码,您可以了解Pandas库的基本用法和常用方法,进一步掌握数据处理和分析的技巧。