python计数函数:count()和value_count()

count()

1、count()在字符串里的使用

函数体及主要参数:

count(str,start=0 ,end=len(string)

str:要搜索的子字符串名称

start:开始搜索的位置,默认是0,也就是从第一个字符开始搜索。

end:结束搜索的位置,默认在最后一个字符停止搜索。(字符串的长度)

也可以直接调用,参数设定为字符串中某个值,使其计算其在字符串中出现的次数。

2、count( )在列表里的使用

 

子和’子‘不同,在使用时需要注意字符串的格式。

value_counts( )函数

在pandas中,value_counts常用于数据表的计数及排序,它可以用来查看数据表中,指定列里有多少个不同的数据值,并计算每个不同值有在该列中的个数,同时还能根据需要进行排序。

函数体及主要参数:

value_counts(values,sort=True, ascending=False, normalize=False,bins=None,dropna=True)

sort=True: 是否要进行排序;默认进行排序
ascending=False: 默认降序排列;
normalize=False: 是否要对计算结果进行标准化并显示标准化后的结果,默认是False。
bins=None: 可以自定义分组区间,默认是否;
dropna=True:是否删除缺失值nan,默认删除

 一般情况,括号里什么都不填,全部默认,当需要某个特殊行为时(例如升序排列),就在括号里添加对应语句即可(例如:value_count(ascending=True):改为升序排列;)

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
这段代码已经很简洁了,但是我们还是可以做一些优化。以下是优化后的代码: ```python import openpyxl from openpyxl.utils import column_index_from_string, get_column_letter # 打开Excel文件并选择特定的工作簿 wb = openpyxl.load_workbook('example.xlsx')['Sheet1'] # 要处理的数据列和结果写入的单元格 col = wb['B'] result_cell = openpyxl.load_workbook('example.xlsx')['Sheet2']['C1'] # 初始化最大值、最小值和总和 max_value, min_value, total, count = float('-inf'), float('inf'), 0, 0 # 循环遍历数据列的所有单元格 for cell in col: value = cell.value if isinstance(value, (int, float)): max_value = max(max_value, value) min_value = min(min_value, value) total += value count += 1 # 计算平均值并将结果写入到指定的单元格 avg_value = total / count if count else None result_cell.value = avg_value # 保存Excel文件 wb.parent.save('example.xlsx') ``` 优化后的代码主要做了以下几个方面的改进: 1.一次性打开Excel文件并选择特定的工作簿,避免了重复打开文件和选择工作簿的操作。 2.使用openpyxl的内置函数max和min来更新最大值和最小值,避免了手写的判断逻辑。 3.将初始化最大值、最小值、总和和计数的操作合并在一行代码,使代码更简洁。 4.使用三目运算符来计算平均值,避免了使用if语句的重复代码。 5.将结果写入到指定的单元格时,直接使用单元格对象的value属性,避免了手写的赋值操作。 6.保存Excel文件时,使用wb.parent.save方法,避免了重复打开文件和保存文件的操作。 以上优化都是在保持代码可读性的前提下进行的,可以提高代码的执行效率和可维护性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值