如何计算使用pandas在列中出现字符串的次数

时间:2017-06-27 12:45:38

标签: python pandas dataframe

MY DF:

shinyjs::reset()

我想知道c1 | C2 | C3 A | B | C A | B | N S | B | I 列中出现B次。

我希望列表中的输出

期望的输出:

C2

1 个答案:

答案 0 :(得分:2)

如果您以后想知道字段中出现两个或更多不同值中有多少个值,那么可以使用value_counts的一种方法可以很好地推广:

df['C2'].value_counts()
Out[28]: 
B     3
Name: C2, dtype: int64

df['C2'].value_counts().tolist()
Out[29]: [3]

df['C2'].value_counts().to_dict()
Out[30]: {'B ': 3}
df['c1'].value_counts()
Out[31]: 
A     2
S     1
Name: c1, dtype: int64

df['c1'].value_counts().tolist()
Out[32]: [2, 1]

df['c1'].value_counts().to_dict()
Out[33]: {'A ': 2, 'S ': 1}

修改

要根据首次出现获得value_counts列表输出,您可以使用

df['c1'].value_counts().reindex(df['c1'].unique()).tolist()

例如:

df
Out[65]: 
  c1  C2 C3
0  S  B   C
1  A  B   N
2  A  B   I

df['c1'].value_counts().reindex(df['c1'].unique()).tolist()
Out[66]: [1, 2]