35 您所在的位置:网站首页 python统计表格某个元素出现的次数 35

35

2023-07-29 14:38| 来源: 网络整理| 查看: 265

35_Pandas计算满足特定条件的元素的数量

将说明在pandas.DataFrame和pandas.Series中,如何按行/列以及整体来计算满足特定条件的元素数。

请参阅以下文章,了解如何提取符合条件的行。

09_Pandas从多个条件(AND,OR,NOT)中提取行

另外,如果要为每一列计算唯一元素,请参见以下文章。

15_Pandas计算元素的数量和频率(出现的次数)

对以下内容进行具体的说明。

满足特定条件的元素数量的计数流程计数pandas.DataFrame中的任何列多个条件的逻辑乘积(和),逻辑和(或)和否定(非) 具体的例子如下。通过指定数值条件进行计数通过指定字符串条件进行计数计算缺失值NaN的数量,非NaN元素的数量

以下面的数据为例。

import pandas as pd df = pd.read_csv('./data/35/sample_pandas_normal.csv') print(df) # name age state point # 0 Alice 24 NY 64 # 1 Bob 42 CA 92 # 2 Charlie 18 CA 70 # 3 Dave 68 TX 70 # 4 Ellen 24 CA 88 # 5 Frank 30 NY 57 满足特定条件的元素数量的计数流程

满足特定条件的元素数量的计数流程如下。

判断pandas.DataFrame,pandas.Series对象的每个元素并获取布尔类型(真,假)用sum()方法计算布尔对象 按列计数:sum()每行计数:sum(axis= 1)总计数:values.sum()

将比较运算符应用于pandas.DataFrame和pandas.Series对象时,将判断每个元素,并获得相同大小的布尔类型(True,False)pandas.DataFrame和pandas.Series对象。

df_bool = (df == 'CA') print(df_bool) # name age state point # 0 False False False False # 1 False False True False # 2 False False True False # 3 False False False False # 4 False False True False # 5 False False False False

在Python中,True被视为1,而False被视为0,因此在布尔值对象上调用sum()方法将为您提供满足条件的元素数。

默认情况下,不带参数时,它按列计算,而参数axis=1时,则按行计算。

print(df_bool.sum()) # name 0 # age 0 # state 3 # point 0 # dtype: int64 print(df_bool.sum(axis=1)) # 0 0 # 1 1 # 2 1 # 3 0 # 4 1 # 5 0 # dtype: int64

pandas.DataFrame和pandas.Series可以将整个元素的数据获取为具有值属性的NumPy数组numpy.ndarray。

31_Pandas.DataFrame,Series和NumPy数组ndarray相互转换

与pandas.DataFrame方法sum()不同,numpy.ndarray方法sum()默认情况下计算总和。因此,如果从bool对象的属性值(numpy.ndarray)调用sum(),则可以获得满足条件的元素总数(总数)。

print(df_bool.values) # [[False False False False] # [False False True False] # [False False True False] # [False False False False] # [False False True False] # [False False False False]] print(type(df_bool.values)) # print(df_bool.values.sum()) # 3 计数pandas.DataFrame中的任何列

如果如上例所示将比较运算符应用于pandas.DataFrame,将对所有元素执行比较操作。

要计算满足任何列条件的元素,请使用[]等指定列并执行相同的过程。

s_bool = df['age']


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有