基于列对数据框进行分组

凯尔蒂

我是数据科学的新手,感谢您的帮助。我的问题是关于基于列对数据框进行分组,以便根据每个主题状态绘制条形图

我的 csv 文件是这样的

Name,Maths,Science,English,sports
S1,Pass,Fail,Pass,Pass
S2,Pass,Pass,NA,Pass
S3,Pass,Fail,Pass,Pass
S4,Pass,Pass,Pass,NA
S5,Pass,Fail,Pass,NA

预期o/p:

Subject,Status,Count
Maths,Pass,5
Science,Pass,2
Science,Fail,3
English,Pass,4
English,NA,1
Sports,Pass,3
Sports,NA,2
隆皮

您可以使用 Pandas 执行此操作,与问题中的输出格式不完全相同,但绝对具有相同的信息:

import pandas as pd

# reading csv
df = pd.read_csv("input.csv")

# turning columns into rows
melt_df = pd.melt(df, id_vars=['Name'], value_vars=['Maths', 'Science', "English", "sports"], var_name="Subject", value_name="Status")

# filling NaN values, otherwise the below groupby will ignore them.
melt_df = melt_df.fillna("Unknown")

# counting per group of subject and status.
result_df = melt_df.groupby(["Subject", "Status"]).size().reset_index(name="Count")

然后你会得到以下结果:

   Subject   Status  Count
0  English     Pass      4
1  English  Unknown      1
2    Maths     Pass      5
3  Science     Fail      3
4  Science     Pass      2
5   sports     Pass      3
6   sports  Unknown      2

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

基于多个删除行的条件对数据框进行分组

在 R 中按列对数据框进行分组

Pandas - 如何对数据框的子列进行分组?

根据日期列对数据框中的行进行分组

Spark:如何按列对数据框进行分组

根据开始和停止列对数据框进行分组

根据列对数据框中的多行进行分组

如何对数据框进行分组

对数据框进行双重分组

PySpark 按月对数据框进行分组

根据字典对数据框进行分组

基于数据框Y的列对数据框X中的列进行子集

基于通用x轴值对数据框柱形图进行分组

根据另一个数据框对数据框的列进行分组

根据一列对数据进行分组,然后使用数据框中的值构建行

如何基于R中的预指定列对数据帧进行分组

对数据框行进行分组并对其进行处理

如何基于另一列对数据框列进行切片

对数据框熊猫中的选定数据进行分组

根据存储在列中的不同标签对数据框的字数进行分组

通过操作和创建新列对数据框进行复杂的分组

如何对数据框列表中的一列进行分组

每6小时对数据框进行分组并生成一个新列

如何通过对列的某种转换来对数据框进行分组

Pandas:对数据框列中 n 个连续元素的总和进行分组

按包含特定值R的列对数据框进行分组

Python按绑定到字符串的整数对数据框列进行分组排序

根据Python中的列相似性对数据框进行分组

通过匹配列和值 R 对数据框进行子集和分组