我在解决这个问题上遇到了一些困难,所以我来这里寻求你的帮助。
我有一个包含许多列的数据帧,我想计算一个特定列中有多少个单元格满足另一个列的条件。在Excel中,这应该是count.if,但我不能准确地解决我的问题。让我给你举个例子。
Names Detail
John B
John B
John S
Martin S
Martin B
Robert S例如,在这个df中,总共有3个"B“和3个"S”。
我怎样才能得到A列中每个名字有多少个"B“和"S”?
我正在尝试获取一个结果数据帧,如
B S
John 2 1
Martin 1 1
Robert 0 1我试过了
b_var = sum(1 for i in df['Names'] if i == 'John')
s_var = sum(1 for k in df['Detail'] if k == 'B')然后做一个for?但我不知道如何同时满足这两个条件,还是采用分组方式更好?
谢谢!!
发布于 2020-05-29 01:29:46
df.pivot_table(index='Names', columns='Detail', aggfunc=len)https://stackoverflow.com/questions/62069098
复制相似问题