Dataframe 基于条件对同一列中的值求和

Dataframe 基于条件对同一列中的值求和,dataframe,percentage,Dataframe,Percentage,我有一个数据框“Country”,如下所示: Country 1 2 1 3 4 5 4 2 2 3 4 4 3 4 5 我使用以下代码计算列中每个值的百分比: percent = df_test['Country'].value_counts(normalize=True) * 100 上面的代码给出了值1到5的各个百分比 但是,我想计算1和3的合计百分比。其余值应单独相加 任何关于如何做到这一点的线索都将不胜感激 非常感谢。那么这怎么会不起作用呢@稷山 ratio_1 = df_test

我有一个数据框“Country”,如下所示:

Country
1
2
1
3
4
5
4
2
2
3
4
4
3
4
5
我使用以下代码计算列中每个值的百分比:

percent = df_test['Country'].value_counts(normalize=True) * 100
上面的代码给出了值1到5的各个百分比

但是,我想计算1和3的合计百分比。其余值应单独相加

任何关于如何做到这一点的线索都将不胜感激


非常感谢。

那么这怎么会不起作用呢@稷山

ratio_1 = df_test['Country'].value_counts(normalize=True)['1']
ratio_3 = df_test['Country'].value_counts(normalize=True)['3']
percent_1_3 = (ratio_1 + ratio_3)*100

为什么不把你得到的1和3的百分比加起来,得到这两个的总百分比呢?我是不是遗漏了什么?是的,这是可以做到的。但是实际的数据集包含100多个这样的行,所以我希望可以使用代码来完成。它们都是1到5行吗?在整个数据集中,它们很多,不仅仅是1到5行。我在问题中编辑了一点列。第一列没有正确解释我的数据集。在这种情况下,iloc也会起作用吗?同一列中有不同的数据集。它们都有1-5的不同位置。@Jishan我已经编辑了我的答案,它应该可以工作,但是数据结构不同is@Jishan希望是1,2,3。。。是数据集中的整数,而不是像“1”、“2”、“3”这样的字符串。。。如果它们是stringsOh,就加上引号,它们实际上是字符串,而不是整数。太好了,一切正常!