如何从列表中计算真实/谬误?

时间:2017-11-05 22:27:46

标签: pandas dataframe count

df = [bigdataframe[['Action', 'Adventure','Animation',
                           'Childrens', 'Comedy', 'Crime','Documentary',
                           'Drama', 'Fantasy', 'FilmNoir', 'Horror', 
                            'Musical', 
                           'Mystery', 'Romance','SciFi', 'Thriller', 'War', 
                           'Western']].sum(axis=1) > 1]
df
Out[8]: 
[0         True
 1         True
 2         True
 3         True
 4         True
 5        False
 6         True
 7         True
 8        False
 9         True
 10       False
 11        True
 12        True
 13        True
 14        True
 15       False
 16        True
 17       False
 18        True
 19       False
 20       False
 21        True
 22        True
 23        True
 24       False
 25        True
 26        True
 27        True
 28        True
 29        True

 99970     True
 99971     True
 99972    False
 99973     True
 99974     True
 99975     True
 99976     True
 99977     True
 99978    False
 99979    False
 99980     True
 99981    False
 99982     True
 99983    False
 99984     True
 99985     True
 99986     True
 99987     True
 99988    False
 99989     True
 99990     True
 99991     True
 99992    False
 99993     True
 99994     True
 99995     True
 99996     True
 99997     True
 99998     True
 99999    False
 Length: 100000, dtype: bool]

我试过了:

  • len(df[df==True])
  • 掩蔽

他们在列表中,所以不应该只计算它们吗?或者我需要为它们分配数值,1为真,0为假,然后使用count或sum函数来查找有多少是真的?

2 个答案:

答案 0 :(得分:2)

演示:

In [386]: df = pd.DataFrame(np.random.rand(5,3), columns=list('ABC'))

In [387]: df
Out[387]:
          A         B         C
0  0.228687  0.647431  0.526471
1  0.795122  0.915011  0.950481
2  0.386244  0.705412  0.420596
3  0.343213  0.928993  0.192527
4  0.201023  0.209281  0.304799

In [388]: df[['A','B','C']].sum(axis=1).gt(1.5)
Out[388]:
0    False
1     True
2     True
3    False
4    False
dtype: bool

In [389]: df[['A','B','C']].sum(axis=1).gt(1.5).sum()
Out[389]: 2

答案 1 :(得分:0)

计算列表中true的数量

sum(unlist(your.list.object))