likes
comments
collection
share

训练了一会 AI 助手,由结果倒推过程的快乐,我也体验一把【玩转Python】

作者站长头像
站长
· 阅读数 5

"卷王"的 Python 学习之路

"卷"个寂寞

作为一个平平无奇的"卷王",我很久之前就去学过 Python。

那时候,我在公司的一个跨国部门里做开发,当时的网站是国外同事开发的,使用的 Django 框架。

得学啊,不学工作都保不住。

于是,我报了个班。

训练了一会 AI 助手,由结果倒推过程的快乐,我也体验一把【玩转Python】

然而(此处应有转折):

学成了,没用上。

用不上,又惦记着。

惦记着,但全忘了。

岁月可回首,Python 得从头。

但是,从头学也要有方法,方能事半功倍,节约学习成本。

"卷"对路子

有时候学东西就像搭积木,先局部实现,最后拼装在一起。

如果一开始就像绘画那样完成一副画作,可能会有些难度。

但是,搭积木,初始状态下,不需要拥有太多的基础能力,能看得懂图纸就行。

因为入门快,所以能很快体会到搭积木的乐趣。

学东西亦是如此,先感兴趣,然后能上手并有所收获,得到持续的满足感,可以帮助保持学习的热情。

我这次选择的方法是:

先实现功能,然后根据实现的结果代码,倒推每一步实现思路。

"卷王"的代码智能生成之路

CodeArts Snap:我的 AI 编程助手

CodeArts Snap 是华为云提供的智能编程助手,支持函数级代码自动生成、代码生成推荐、多个生成结果方案提供等。

还有很重要的一点是,PyCharm 中有现成的插件可用。

小试牛刀:查看表格的统计数据

CodeArts Snap 用起来挺方便的,在 PyCharm 中安装好插件,登录华为云的账户(前提是已经成功申请试用)。

新增 py 文件,在文件中加入功能注释,然后单击"return"键,便可以自动生成代码。

下面,我们来实验一个"查看表格的统计数据"的功能。

数据表格

日期销量
2023/6/12742.8
2023/6/23014.3
2023/6/35
2023/6/4865
2023/6/53036.8
2023/6/644

功能注释

CodeArts Snap 支持中英文双语注释,我一般会采用中文注释:

"""
实现一个函数并打印函数结果:
1、读取Excel表格,指定表格中的"日期"列为索引列;
2、返回描述性统计数据。
:return:
"""

生成代码

在注释下方,单击"return"键,便可以自动生成代码。

import pandas

def read_excel(file_name):
    data = pandas.read_excel(file_name)
    return data


def describe_data(data):
    print(data.describe())

函数调用

上面的代码其实不太完美,没有自动生成函数调用的代码(也许我没有加对正确的注释),于是我自己加了一行:

describe_data(read_excel('abnormal.xlsx'))

运行结果

训练了一会 AI 助手,由结果倒推过程的快乐,我也体验一把【玩转Python】

运行结果中每个值的释义如下:

count:观测的计数

mean:平均值

std:标准差

min:最小值

25%:1/4分位数

50%:1/2分位数

75%:3/4分位数

max:最大值

代码解析

因为我实验的这个功能相对简单,所以代码解析起来也不费劲。

这次代码实现的关键在于 pandas 库,借助它读取Excel文件并打印统计数据信息。

# pandas是一个快速、强大、灵活且易于使用的开源数据分析和操作工具,建立在Python编程语言之上
import pandas

# 文件读取函数
# 根据文件名读取Excel文件,并返回读取到的数据
def read_excel(file_name):
    # read_excel:pandas 提供的读取Excel文件的函数
    data = pandas.read_excel(file_name)
    return data

# 打印统计数据信息函数
# 根据文件数据,打印统计数据信息
def describe_data(data):
    # describe 函数:生成描述性统计数据,总结数据集分布的集中趋势,分散和形状。
    print(data.describe())

注:想了深入了解 pandas,可以单击pandas 官网查看更多

升级挑战:获取统计数据中的极差

极差公式

极差 = 最大值 - 最小值

功能注释

"""
实现一个函数:
1、读取Excel表格;
2、获取表格的描述性统计数据ds;
3、获取ds的最大值减去最小值的差值range,打印range。
:return:
"""

生成代码

这个代码里,有两个小瑕疵:

  • 把最大值和最小值都打印了,注释中没有写需要打印这两个值,说明对注释解析的还不够透彻;
  • 虽然加了注释,但是注释加的不准确。
def get_min_max(file_name):
    # 打开文件
    data = pandas.read_excel(file_name)
    # 获取表格的描述性统计数据
    ds = data.describe()
    # 获取表格的最大值去最小值的差值range,打印range
    print(ds.loc['max'])
    print(ds.loc['min'])
    # 返回表格的最大值去最小值的差值range,打印range
    print(ds.loc['max'] - ds.loc['min'])

函数调用

get_min_max('abnormal.xlsx')

运行结果

这个结果还是相对符合预期的

训练了一会 AI 助手,由结果倒推过程的快乐,我也体验一把【玩转Python】

代码解析

def get_min_max(file_name):
    # 打开文件,获取Excel文件的数据,保存到data中
    data = pandas.read_excel(file_name)
    # 获取表格的描述性统计数据,保存到ds中
    ds = data.describe()
    # loc:通过标签或布尔数组访问一组行和列。
    # 打印描述性统计数据中的最大值
    print(ds.loc['max'])
    # 打印描述性统计数据中的最小值
    print(ds.loc['min'])
    # 打印最大值去最小值的差值
    print(ds.loc['max'] - ds.loc['min'])

"卷王"的总结发言

总结一下本篇文章的收获和待提升的内容。

本次收获

先来说说收获吧:

1、通过"结果倒推过程"的方式,实验过程充满乐趣,让我对较为陌生的知识的抵触感降低了很多。

2、两个实验结束之后,对于 Python 的语法和写法都有了一定了解。

3、熟悉了一个第三方库——pandas,知晓了它的应用场景,可用于数据分析。

待提升

之后还有些地方需要提升:

1、对 CodeArts Snap 使用的熟练度还有待提升,尤其是功能注释文字的准确度,有时候得到的代码并不是自己想要的。

2、Python 的学习之路还得延续下去。


作者介绍

非职业「传道授业解惑」的开发者叶一一。

《趣学前端》、《CSS畅想》等系列作者。华夏美食、国漫、古风重度爱好者,刑侦、无限流小说初级玩家。

如果看完文章有所收获,欢迎点赞👍 | 收藏⭐️ | 留言📝。