相关疑难解决方法(0)

熊猫占总数的百分比

这显然很简单,但作为一个笨拙的新人我会陷入困境.

我有一个CSV文件,其中包含3个列,State,Office ID和该办公室的Sales.

我想计算某个州的每个办公室的销售百分比(每个州的所有百分比总和为100%).

df = pd.DataFrame({'state': ['CA', 'WA', 'CO', 'AZ'] * 3,
                   'office_id': range(1, 7) * 2,
                   'sales': [np.random.randint(100000, 999999)
                             for _ in range(12)]})

df.groupby(['state', 'office_id']).agg({'sales': 'sum'})
Run Code Online (Sandbox Code Playgroud)

返回:

                  sales
state office_id        
AZ    2          839507
      4          373917
      6          347225
CA    1          798585
      3          890850
      5          454423
CO    1          819975
      3          202969
      5          614011
WA    2          163942
      4          369858
      6          959285
Run Code Online (Sandbox Code Playgroud)

我似乎无法弄清楚如何"高达"的state水平groupby与总起来sales对整个state计算分数.

python pandas

115
推荐指数
10
解决办法
16万
查看次数

鉴于大熊猫系列代表一个值的频率,我怎样才能将这些频率转换为百分比?

我正在试验kaggle.com泰坦尼克号数据集(泰坦尼克号上每个人的数据),并想出了这样的性别分类:

gender = df.sex.value_counts()
gender

male   577
female 314 
Run Code Online (Sandbox Code Playgroud)

我想知道泰坦尼克号上每个性别的百分比.

我的方法略逊于理想:

from __future__ import division
pcts = gender / gender.sum()
pcts

male      0.647587
female    0.352413
Run Code Online (Sandbox Code Playgroud)

有更好的(更惯用的)方式吗?

谢谢!

python pandas

46
推荐指数
4
解决办法
3万
查看次数

标签 统计

pandas ×2

python ×2