有人能告诉我如何才能找到在panda Dataframe 的列中只出现过一次的值的计数吗?我知道我们可以使用n个函数,如nunique
或unique().size
等,但它们只提供了不同值的计数,而我试图找到在整个列中hva只出现过一次的值。下面是一个示例
import pandas as pd
technologies = {
'Courses':["Spark","PySpark","Python","Pandas","Python","Spark","Pandas","AWS","Spark"],
'Fee' :[20000,25000,22000,30000,25000,20000,30000,50000,20000],
'Duration':['30days','40days','35days','50days','40days','30days','50days','90days','30days'],
'Discount':[1000,2300,1200,2000,2300,1000,2000,1500,1000]
}
df = pd.DataFrame(technologies)
运行df.Discount.unique().size
将得到值5
,即[1000, 2300, 1200, 2000, 1500]
但我的预期输出是2
,即[1200, 1500]
谢谢。
3条答案
按热度按时间6yt4nkrj1#
value_counts()
返回一个Series。只需计算有多少个值只有一个计数:rks48beu2#
像这样?
编辑:参见Ignatius Reilly的回答,使用
value_counts
更好。u59ebvdq3#
将
duplicated
与keep=False
一起使用,将布尔值与~
和sum
取反:输出:
如果需要这些值:
输出: