2017-11-08 8 views
0

私がしようとしているのは、列Aのさまざまなチームをグループ化し、各値が何回表示されるかの合計数を取得することです。一例として、Team1が4回現れます。私はカウント値(Team1と4つ)をB列に何回表示するのかを分けてパーセンテージを求めたいと思います。列Aの値でグループ化し、各値の合計を列bの値で割る

Current 
A   B   C 
Team1  Yes   4 
Team2  Yes   1 
Team1  No   4 
Team3  Yes   2 
Team1  No   4 
Team6  *blank*  1 
Team3  No   2 
Team1  *blank*  4 



Desired 
Team1  25% 
Team2  100% 
Team3  50% 
Team6  0% 

これは私がこれまで行ってきたことですが、これを行う方法について私の頭を包んではいません。使用

import csv 
import pandas as pd 
import numpy as np 

# Select columns from csv file 
csv_columns = ['Team, 'Status'] 
pd.set_option('max_rows', 900) 

df = pd.read_csv('test.csv', skipinitialspace=True, usecols=csv_columns) 
df['Count'] = df.groupby('Team')['Team'].transform('count') 


print(df) 

答えて

1

groupby

df.B.eq('Yes').groupby(df.A).mean() 

A 
Team1 0.25 
Team2 1.00 
Team3 0.50 
Team6 0.00 
Name: B, dtype: float64 
関連する問題