gpt4 book ai didi

python - 计算一列中数字的频率,同时等于另一列中的文本

转载 作者:太空宇宙 更新时间:2023-11-03 14:11:25 24 4
gpt4 key购买 nike

这是来自示例 csv

大概是这样的5列

剪贴板:

Year  Course  Modul Q1 Q2
2015 Physics CS1203 4 2
2015 Physics CS1203 4 3
2015 Physics CS1203 3 1
2015 Physics CS1203 4 4
2015 English IR0001 2 5
2015 English IR0001 1 2
2015 English IR0001 3 1
2015 English IR0001 5 3
2015 English IR0001 4 3

代码:

df = pd.read_clipboard()

我按模块分组,现在我想计算模块 CS1203 中 4 的数量。我是新手,如果这是一个愚蠢的问题,请提前致歉。非常感谢您的帮助。

谢谢

最佳答案

我想你需要boolean indexing :

print (df[(df.module == 'CS1203') & (df.q1 == 4)])
year course module q1 q2
0 2015 Physics CS1203 4 2
1 2015 Physics CS1203 4 3
3 2015 Physics CS1203 4 4

print (len(df[(df.module == 'CS1203') & (df.q1 == 4)]))
3

如果需要在所有 q 列中计数,首先使用 melt :

df = pd.melt(df, id_vars=['year','course','module'], value_name='q')
year course module q1 q2
0 2015 Physics CS1203 4 2
1 2015 Physics CS1203 4 3
2 2015 Physics CS1203 3 1
3 2015 Physics CS1203 4 4
4 2015 English IR0001 2 5
5 2015 English IR0001 1 2
6 2015 English IR0001 3 1
7 2015 English IR0001 5 3
8 2015 English IR0001 4 3

print (df[(df.module == 'CS1203') & (df.q == 4)])
year course module variable q
0 2015 Physics CS1203 q1 4
1 2015 Physics CS1203 q1 4
3 2015 Physics CS1203 q1 4
12 2015 Physics CS1203 q2 4

print (len(df[(df.module == 'CS1203') & (df.q == 4)]))
4

关于python - 计算一列中数字的频率,同时等于另一列中的文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37577178/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com