Task 01
对网页相关信息.csv 进行分组,然后进行统计,filter()
分类
import pandas as pd
data = pd.read_csv('assignment_infowe.csv', encoding='gbk')
# Task 01 分组
group_data = data.groupby('分类')
for item in group_data:
print(item)
对网页相关信息.csv 进行分组,然后进行统计,filter()
import pandas as pd
data = pd.read_csv('assignment_infowe.csv', encoding='gbk')
# Task 01 分组
group_data = data.groupby('分类')
for item in group_data:
print(item)
用concat(), merge(), join()结合各自具体的参数(axis, join, how)来完成数据的合并,
concat()
变化 join
参数学生信息为:
性别 年龄
张强 男 17
李娜 女 18
学生成绩为:
语文 数学
张强 90 88
李娜 85 79
王浩 92 95
import numpy as np
import pandas as pd
# Task 01: 创建 100x6 的 DataFrame,数值在 [-3, 3] 之间
df = pd.DataFrame(np.random.uniform(-3, 3, (100, 6)))
# Task 02: 统计汇总
print("数据统计:")
print(df.describe())
# Task 03: 取前六行
print("\n前6行数据:")
print(df.head(6))
# Task 04: 使用 count() 统计异常值
ab_low = df[df < -2].count()
ab_high = df[df > 2].count()
# 每列总异常值
ab_each_column = ab_low + ab_high
# 异常值总数
ab_total = ab_each_column.sum()
print("\n每列异常值数量:")
print(abnormal_each_column)
print(f"\n异常值总数:{abnormal_total}")
# Task 05: 替换
df_clipped = df.clip(lower=-2, upper=2)
# Task 06: 查看替换后的统计汇总
print("\n替换异常值后的数据统计:")
print(df_clipped.describe())
import pandas as pd
import numpy as np
# 创建包含缺失值的字典
data_dict = {
'姓名': ['张三', '李四', '王五', '张三', None], # None 表示缺失值
'年龄': [25, 30, None, 25, 40], # None 代表缺失值
'城市': ['北京', '上海', '广州', None, '北京'], # None 代表缺失值
'工资': [7000, 8000, 9000, 7000, None] # None 代表缺失值
}
# 将字典转换为 DataFrame
df = pd.DataFrame(data_dict)
review
nums = [100, 2, 3, 40, 99]
words = ["three", "two", "one"]
# Expressions and results
print(nums[-1])
print(words.index("two"))
print(nums[words.index("two")])
print(words[1])
print(words[1][1])
print(words[1][-2] * nums[2])
print(nums[:1] + words[:1])
print(", ".join(words))
print((", ".join(words))[4:7])
在大模型的指导下学习查询IP的各种方法
使用命令提示符
ipconfig
解析 HTML
etree.HTML(text)
用于解析 HTML 字符串、文件对象或 URL 中的 HTML 内容。转换 HTML 为 ElementTree
仿照课上讲解的例子,使用lxml库及Xpath实现对于中国传媒大学教学科研部门名称的爬取,
import requests
from lxml import etree
import csv
url = "https://www.cuc.edu.cn/9996/list.htm"
headers = {
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.102 Safari/537.36"
}
response = requests.get(url, headers=headers)
response.encoding = "utf-8"
html = etree.HTML(response.text)
# 提取“教学科研单位”节点下的部门名称
departments = html.xpath('//li[@class="wp_sublist sublist-4"]//div[contains(@class, "news_title")]/text()')
print("中国传媒大学 教学科研部门名称:")
for dept in departments:
print(dept)
# 将数据保存到 CSV 文件
if departments:
with open("cuc_departments.csv", "w", newline="", encoding="utf-8") as f:
writer = csv.writer(f)
writer.writerow(["学院名称"]) # 表头
for dept in departments:
writer.writerow([dept])
print("数据已成功保存到 cuc_departments.csv")
else:
print("没有提取到任何数据,请检查 XPath 表达式或网页结构。")
Form data 和Request Payload两种格式的区别和特点
特性区别:
特性 | Form Data | Request Payload |
---|---|---|
请求方式 | application/x-www-form-urlencoded 或 multipart/form-data |
application/json 或 application/xml |
数据结构 | key=value&key2=value2 |
结构化 JSON/XML |
是否可读 | 人类可读,类似 URL 查询参数 | 需要 JSON/XML 解析 |
适用于 | HTML 表单、简单请求、文件上传 | API 请求、大量数据、结构化数据 |
编码方式 | URL 编码 | 直接以 JSON/XML 形式传输 |
文件上传 | 需要 multipart/form-data |
需要 base64 编码或 multipart |
用大模型辅助了解判别动态网页和静态网页的方法,并简要总结
.html
或者.htm
结尾,如:https://top.zhan.com/toefl/listen/alltpo.html
https://www.ctrip.com/?allianceid=564348&sid=18845228
Your primary language is en-US, do you want to switch to it?
您的首选语言是 en-US,是否切换到该语言?