Python Day 5 学习

第一项: 回温

回温Day4笔记时发现有一处笔误,应为获取“列表中元素”的方式和获取“字符串中字符的方式”相同。

今日在回温时,发现“循环语句”那里思路还是卡顿。

重新向AI提问相关知识,进行梳理如下:

关于Python中的下划线

第二项:精进昨日剩余的一题

1.  定义一个包含整数的列表 scores,赋值为 [85, 92, 78, 65, 95, 88]。

自写:

scores = [85, 92, 78, 65, 95, 88]

对照无误

2.  初始化两个变量:excellent_count 用于记录分数大于等于 90 的个数,初始值为 0;total_score 用于累加所有分数,初始值为 0。

自写:

excellent_count = 0
total_score = 0

对照无误

3.  使用 for 循环遍历 scores 列表中的每一个分数。

4.  在循环内部:

a.  将当前分数累加到 total_score 变量上。

b.  使用 if 语句判断当前分数是否大于等于 90。如果是,则将 excellent_count 变量加 1。

自写:(存在错误)

for num in scores:
     #定义初始值
      total_score = 0
     #将当前分数累加到total_score变量上
     total_score = total_score + num
     #判断当前分数是否大于等于90.若是,将excellent_count变量加1
     if total_score > = 90,
           excellent_count = excellent_count + 1

对照:

有以下两个问题:

(1)既然列表中为分数,这里应将“num”改为“score”。

  (2) 注意“判断当前分数”中的“当前分数”指的就是每个score, 所以,应为 if score >= 90(同时,>=之间没有空格)。在写的时候,务必明确每一步对应的是哪个变量。

5.  循环结束后,计算平均分 average_score(总分除以分数的个数)。

自写:(存在错误)

average_score = total_score / 6

应为:average_score = total_score / len(scores)

6.  使用 f-string 分三行打印出以下信息:

7.  优秀分数(>=90)的个数。

8.  所有分数的总和。

9.  所有分数的平均分(结果包含3位小数)。

打印格式应类似:

优秀分数个数: 3

分数总和: 503

平均分数: 83.833

自写 存在错误

print(f"优秀分数个数:{excellent_count}")

print(f"分数总和:{total_score}")

print(f"平均分数:{average_score}")

对照后,前两行无误。最后一行写法应为:print(f"平均分数:{average_score: .3f}")

Q: 关于“:.3f”是什么?

第三项. 新内容 day4

初识pandas库与缺失数据的补全

按照示例代码的要求,去尝试补全信贷数据集中的数值型缺失值

1.  打开数据(csv文件、excel文件)

对excel文件的读取

通过讲解和AI进行代码每行的学习

2.  查看数据(尺寸信息、查看列名等方法)

总结方法

3.  查看空值

认识几个代码

data.info()

data.shape

用于查看Dataframe的维度信息。(行数,列数)表示数据集的行数列数。

data.columns

data.describe()

dtype为 data type的缩写,用于描述数据类型

比如:data["Annual Income"].dtype  # 查看某一列的数据类型

4.  众数、中位数填补空值

中位数

# 计算 'Annual Income' 列的中位数(会自动忽略 NaN 值)

median_income = data['Annual Income'].median()

# 使用计算出的中位数填补该列的 NaN 值

data['Annual Income'].fillna(median_income, inplace=True)

通过AI,对该代码进行学习

众数

# 使用众数填充缺失值

5.  利用循环补全所有列的空值

通过AI进行逐行理解

注:

对布尔值序列求和并不是传统意义上的数值相加,而是计算布尔值为 `True` 的数量。

在 Python 中,布尔值 `True` 和 `False` 可以被视为整数 `1` 和 `0`。因此,当对布尔值序列调用 `.sum()` 方法时,实际上是将所有 `True` 的值视为 `1`,然后进行加总,结果就是 `True` 的数量。

今日学到这里,信息量较大。明日不着急开启新内容,须将今日所学回温,并亲手写一遍代码,以验证自己是否真的理解。@浙大疏锦行​​​​​​​

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值