Python Pandas数据框限制

series   outcome

1          T

1          F

1          T

2          T

2          F

3          T

4          F

4          T

5          F

我有一个看起来像这样的数据框,我正在尝试查看每个系列中T在结果中所占的比例。但是我不明白为什么我无法使其工作


series = np.unique(series)

count = 0 

pcorrect = np.zeros(len(nseries))

for s in nseries:

   if data.loc[data['series'] == s]:

       outcome_count = data['outcome'].value_counts()

       nstarted_trials = outcome_count['T'] + outcome_count[F'] 

       pcorrect[count]= outcome_count['T'] / nstarted_trials

    count +=1


慕的地8271018
浏览 196回答 1
1回答

慕的地10843

我想你可以用 crosstabpd.crosstab(df.series,df.outcome,margins = True)Out[698]: outcome  F  T  Allseries            1        1  2    32        1  1    23        0  1    14        1  1    25        1  0    1All      4  5    9如果需要百分比pd.crosstab(df.series,df.outcome,margins = True, normalize=True)Out[699]: outcome         F         T       Allseries                               1        0.111111  0.222222  0.3333332        0.111111  0.111111  0.2222223        0.000000  0.111111  0.1111114        0.111111  0.111111  0.2222225        0.111111  0.000000  0.111111All      0.444444  0.555556  1.000000
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python