小编Lin*_*den的帖子

Pandas 跨多列进行代表性采样

我有一个代表人口的数据框,每一列表示该人的不同品质/特征。我怎样才能获得该数据框/人口的样本,它代表了整个人口的所有特征。

假设我有一个代表 650 人的员工队伍的数据框,如下所示:

import pandas as pd
import numpy as np
c = np.random.choice

colours = ['blue', 'yellow', 'green', 'green... no, blue']
knights = ['Bedevere', 'Galahad', 'Arthur', 'Robin', 'Lancelot']
qualities = ['wise', 'brave', 'pure', 'not quite so brave']

df = pd.DataFrame({'name_id':c(range(3000), 650, replace=False),
              'favourite_colour':c(colours, 650),
              'favourite_knight':c(knights, 650),
              'favourite_quality':c(qualities, 650)})
Run Code Online (Sandbox Code Playgroud)

我可以获得上面的一个样本,反映单列的分布,如下所示:

# Find the distribution of a particular column using value_counts and normalize:
knight_weight = df['favourite_knight'].value_counts(normalize=True)

# Add this to my dataframe as a weights column:
df['knight_weight'] = df['favourite_knight'].apply(lambda x: …
Run Code Online (Sandbox Code Playgroud)

python random pandas

8
推荐指数
1
解决办法
3260
查看次数

标签 统计

pandas ×1

python ×1

random ×1