鱼C论坛

 找回密码
 立即注册
查看: 6357|回复: 24

爬虫

[复制链接]
发表于 2023-12-5 17:18:51 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
@FishC_GPT
1. 统计评分小于9.0的数目

【问题描述】

使用爬虫获取特定资源时,解析网页的源码是必须的步骤,可使用bs4进行解析,其功能特性好于lxml。

【题目要求】

- 使用python的requests库获取给定URL的源码。

- 然后使用bs4库解析源码获取资源。

- 目标URL(豆瓣电影top250) :

【输出形式】

- 统计前5页评分小于9.0的电影数目。

- 输出格式

rating_num < 9.0 : num(统计出来的数目)

- 最终结果输出到result.txt中。
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2023-12-5 17:24:26 | 显示全部楼层
FishC_GPT 发表于 2023-12-5 17:19
【问题解答】
好的,让我们来编写代码实现这个功能。

@FishC_GPT  代码运行结果不对
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-12-5 17:28:52 | 显示全部楼层
FishC_GPT 发表于 2023-12-5 17:24
嗨!看来你在运行代码时遇到了问题。别担心,我会帮助你解决。首先,请你给我提供更多信息,具体是哪块代 ...

运行结果应该是43而不是0
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-12-6 15:29:32 | 显示全部楼层
@FishC_GPT
1. Series
【问题描述】输入一行整数,通过其创建类型Series的s。

【输入形式】n个整数

【输出形式】

1 2
【样例输入】

0    1
1    2
dtype: int64

【样例输出】
【样例说明】
【评分标准】

import  pandas  as  pd


def  main():
        arr  =  input("")
        a  =  [int(x)  for  x  in  arr.split()]

        print(s)


if  __name__  ==  '__main__':
        main()
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-12-6 15:35:14 | 显示全部楼层

2. sort_values
【问题描述】输入下标时间序列的长度n,创建一个n*4的表格df,数据值为满足标准正态分布的随机值,列标为['A','B','C','D']。求解按'A'列的数据从小到大排序后的表格

【输入形式】一个正整数n
【输出形式】表格。
【样例输入】

3
【样例输出】

                  A         B         C         D
2020-01-03 -0.103219  0.410599  0.144044  1.454274
2020-01-01  1.764052  0.400157  0.978738  2.240893
2020-01-02  1.867558 -0.977278  0.950088 -0.151357

【样例说明】
【评分标准】

import  pandas  as  pd
import  numpy  as  np


n  =  int(input())
np.random.seed(0)
dates  =  pd.date_range('20200101',  periods=n)
df  =  pd.DataFrame(np.random.randn(n,  4),  index=dates,  columns=list('ABCD'))
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-12-6 15:36:33 | 显示全部楼层
bushiw 发表于 2023-12-6 15:35
2. sort_values
【问题描述】输入下标时间序列的长度n,创建一个n*4的表格df,数据值为满足标准正态分布 ...

@FishC_GPT

2. sort_values
【问题描述】输入下标时间序列的长度n,创建一个n*4的表格df,数据值为满足标准正态分布的随机值,列标为['A','B','C','D']。求解按'A'列的数据从小到大排序后的表格

【输入形式】一个正整数n
【输出形式】表格。
【样例输入】

3
【样例输出】

                  A         B         C         D
2020-01-03 -0.103219  0.410599  0.144044  1.454274
2020-01-01  1.764052  0.400157  0.978738  2.240893
2020-01-02  1.867558 -0.977278  0.950088 -0.151357

【样例说明】
【评分标准】

import  pandas  as  pd
import  numpy  as  np


n  =  int(input())
np.random.seed(0)
dates  =  pd.date_range('20200101',  periods=n)
df  =  pd.DataFrame(np.random.randn(n,  4),  index=dates,  columns=list('ABCD'))
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-12-6 15:41:13 | 显示全部楼层
FishC_GPT 发表于 2023-12-6 15:35
import pandas as pd
import numpy as np

3. describe
【问题描述】输入下标时间序列的长度n,创建一个n*4的表格df,数据值为满足标准正态分布的随机值,列标为['A','B','C','D']。使用describe方法求解表格df的一些基本统计数据。

【输入形式】一个正整数n
【输出形式】df统计数据的表格。
【样例输入】

3
【样例输出】

             A         B         C         D
count  3.000000  3.000000  3.000000  3.000000
mean   1.176130 -0.055507  0.690957  1.181270
std    1.109157  0.798294  0.473857  1.219268
min   -0.103219 -0.977278  0.144044 -0.151357
25%    0.830417 -0.288560  0.547066  0.651458
50%    1.764052  0.400157  0.950088  1.454274
75%    1.815805  0.405378  0.964413  1.847583
max    1.867558  0.410599  0.978738  2.240893

【样例说明】
【评分标准】

import  pandas  as  pd
import  numpy  as  np


def  main():
        n=int(input())
        np.random.seed(0)
        dates  =  pd.date_range('20200101',  periods=n)
        df  =  pd.DataFrame(np.random.randn(n,  4),  index=dates,  columns=list('ABCD'))



if  __name__  ==  '__main__':
        main()
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-12-6 15:51:58 | 显示全部楼层
FishC_GPT 发表于 2023-12-6 15:43
import pandas as pd
import numpy as np

4. iloc
【问题描述】已知表格df,df的下标为2020年366天的日期,列标为列表"ABCD",求解某行和某行在某列和某列的数据构成的表格

【输入形式】行数arr1,行数arr2,列数arr3,列数arr4
【输出形式】表格

【样例输入】

1 2 1 2

【样例输出】

                  A         B

2020-01-01  1.764052  0.400157
2020-01-02  1.867558 -0.977278

【样例说明】
【评分标准】

import  pandas  as  pd
import  numpy  as  np
arr1,  arr2,  arr3,  arr4  =  input().split()
arr1  =  int(arr1)
arr2  =  int(arr2)
arr3  =  int(arr3)
arr4  =  int(arr4)
np.random.seed(0)
dates  =  pd.date_range('20200101',  periods=366)
df  =  pd.DataFrame(np.random.randn(366,  4),  index=dates,  columns=list('ABCD'))
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-12-6 15:54:08 | 显示全部楼层
FishC_GPT 发表于 2023-12-6 15:52
import pandas as pd
import numpy as nparr1, arr2, arr3, arr4 = input("请输入行数arr1,行数arr2,列 ...

        输出错误
错误输出:

                   B         C
2020-01-02 -0.977278  0.950088
2020-01-03  0.410599  0.144044

期望输出:

                   A         B
2020-01-01  1.764052  0.400157
2020-01-02  1.867558 -0.977278
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-12-6 16:32:20 | 显示全部楼层
FishC_GPT 发表于 2023-12-6 15:54
非常抱歉,我在前面的代码中使用了错误的方法来选择行。请使用以下修正代码:import pandas as pdimport  ...


6. date_range
【问题描述】创建一个DataFrame结构d'f,该机构的数据值为满足标准正态分布的样本值,列标为['A','B','C','D'],下标为从arr开始长为len的一组时间序列。
【输入形式】第一行为满足条件的字符串,第二行为长度len

【输出形式】二维的表格型数据结构df。
【样例输入】

20130101

6

【样例输出】

                   A         B         C         D

2013-01-01  1.764052  0.400157  0.978738  2.240893

2013-01-02  1.867558 -0.977278  0.950088 -0.151357

2013-01-03 -0.103219  0.410599  0.144044  1.454274

2013-01-04  0.761038  0.121675  0.443863  0.333674

2013-01-05  1.494079 -0.205158  0.313068 -0.854096

2013-01-06 -2.552990  0.653619  0.864436 -0.742165


【样例说明】
【评分标准】

import  pandas  as  pd
import  numpy  as  np


def  main():
        arr  =  input("")
        len=int(input())
        np.random.seed(0)

        df  =  pd.DataFrame(np.random.randn(len,  4),  index=dates,  columns=list('ABCD'))
        print(df)


if  __name__  ==  '__main__':
        main()
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-12-6 16:33:53 | 显示全部楼层
FishC_GPT 发表于 2023-12-6 16:32
【问题解答】在给定的代码中,我们需要根据输入的字符串和长度创建一个DataFrame结构,并使用满足标准正 ...

给i出实例代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-12-6 16:37:46 | 显示全部楼层
FishC_GPT 发表于 2023-12-6 16:34
当然,请看下面的示例代码:

7. values
【问题描述】给定表格df,输出其数据。
【输入形式】
【输出形式】

【样例输入】

【样例输出】

【样例说明】
【评分标准】

import  pandas  as  pd
import  numpy  as  np


def  main():
        np.random.seed(0)
        dates  =  pd.date_range('20200101',  periods=10)
        df  =  pd.DataFrame(np.random.randn(10,  4),  index=dates,  columns=list('ABCD'))



if  __name__  ==  '__main__':
        main()
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-5-12 20:04:50 | 显示全部楼层
数据可视化实操练习作业1
提供了学生数据表(见student-mat.csv文件)给大家,请就该数据进行分析:
1.请统计各学校的性别(男女生)分布柱状图(直方图)

2.请统计不同性别的年龄分布图

3.绘制散点图等分析,请分析父亲工作情况和母亲工作情况的数据分散性。

数据表说明:本数据变量数较多,在第一行中给出。下面给出需要用到的部分变量的中译名:

school;学校(GP和MS两个学校)

sex;性别

age;年龄

address;地址

Mjob;母亲工作情况(有"health";"services","at_home";"teacher""other"等取值)

Fjob;父亲工作情况(有"health";"services","at_home";"teacher""other"等取值)
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2026-4-1 16:12

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表