value_counts()
函数输出列中所有唯一值的数量,例如
apple 3
orange 2
banana 1
我只想搜索 (value = 'apple') 的总数,哪个函数可以替换 value_counts()?
value_counts()
函数输出列中所有唯一值的数量,例如
apple 3
orange 2
banana 1
我只想搜索 (value = 'apple') 的总数,哪个函数可以替换 value_counts()?
你有很多方法可以做到这一点。您不会看到性能上有很大差异。我的建议是使用对您或您的团队更方便的任何东西。
import pandas as pd
import numpy as np
#Let's create a dataframe with 10 million integers from 0 to 100
df = pd.DataFrame(np.random.randint(0,100,size=(10000000, 1)), columns=list('A'))
#And now count the value 5 with 4 different ways
%timeit df[df.A == 5].shape[0]
10 loops, best of 3: 25.4 ms per loop
%timeit len(df[df.A == 5])
10 loops, best of 3: 25.4 ms per loop
%timeit len(df[df.A == 5].index)
10 loops, best of 3: 25.6 ms per loop
%timeit df['A'].value_counts()[5]
10 loops, best of 3: 149 ms per loop
如您所见,只有最后一个需要更多时间来运行。
编辑:除了你的评论,你可以试试这个
df = data.groupby('a_1').get_group(a_2)['suffix']
len(df[df.suffix == 'a_3'])
您可以过滤一个系列,然后应用 value_count。
例如:
fruits[fruits == "apple"].value_counts()