首页 > 解决方案 > 如何计算数据框中组之间给定二进制变量的百分比

问题描述

我有一个多人回答多个问题的数据框。问题被操作化为 1 = 同意和 0 = 不同意。同一个人回答了多个问题,现在我想找出同意声明的百分比,因此是 1,与答案的总数相比。数据框的组织方式是每个问题有一行。每个人回答 8 个问题,所以我们为每个人准备了 8 行。我想计算每个人的“同意”(或 1 个)陈述与每个人回答的问题总数(因此为 8)相比的百分比。

标签: dataframepercentage

解决方案


# display how the targets are distributed
def configure_target_statistic(targets):
    trg_cnt = targets.value_counts()
    labels, sizes = (np.array(trg_cnt.index)), (np.array(100*(trg_cnt/trg_cnt.sum())))
    py.iplot(go.Figure(data=[go.Pie(labels=labels, values=sizes)], layout=go.Layout(title='Target Distribution',font=dict(size=15),width=500, height=500)))
    return trg_cnt

configure_target_statistic(df['answers'])

你只需要进口,这应该足够了:

import numpy as np
import pandas as pd
import plotly.offline as py
import plotly.graph_objs as go

推荐阅读