dataframe - 如何计算数据框中组之间给定二进制变量的百分比
问题描述
我有一个多人回答多个问题的数据框。问题被操作化为 1 = 同意和 0 = 不同意。同一个人回答了多个问题,现在我想找出同意声明的百分比,因此是 1,与答案的总数相比。数据框的组织方式是每个问题有一行。每个人回答 8 个问题,所以我们为每个人准备了 8 行。我想计算每个人的“同意”(或 1 个)陈述与每个人回答的问题总数(因此为 8)相比的百分比。
解决方案
# 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
推荐阅读
- fullcalendar - Fullcalendar.io v5 - 如果一天有事件,则将类添加到日单元格
- python - 如何从 JSON 中获取值
- arraylist - 在地图中的所有值列表中查找值,如果找到则返回键。任何有效/更快的解决方案解决方案?
- azure-web-app-service - Azure Windows App Service 文件在节点间不可用
- vue.js - 带有 Vue 3 配置的 TinyMCE
- java - JsonSubtype 属性值与抽象类变量名相同
- python - 替换列表类型的列的值
- javascript - Gatsby 构建错误 95313 - 项目未构建
- excel - 如何让 Send To 包含来自工作表且被证明为真实的电子邮件
- apache-spark - 从 spark 分发存档下载通常很慢吗?