创建如下图所示DataFrame对象,并查找删除重复值,具体要求为:先查询后调用方法来处理重复值。

创建如下图所示DataFrame对象,并查找删除重复值,具体要求为:先查询后调用方法来处理重复值。(6分)

ID

Name

Age

Height

Gender

0

101

小明

18

180

1

102

小月

18

160

2

103

彭阳

29

185

3

104

刘华

58

175

4

105

刘华

58

175

5

106

周扬

36

178

import pandas as pd
# 创建数据
data = {'ID': [101, 102, 103, 104, 105, 106],
        'Name': ['小明', '小月', '彭阳', '刘华', '刘华', '周扬'],
        'Age': [18, 18, 29, 58, 58, 36],
        'Height': [180, 160, 185, 175, 175, 178],
        'Gender': ['男', '女', '男', '男', '男', '男']}
# 创建DataFrame对象
df = pd.DataFrame(data)
# 查询重复值
duplicates = df.duplicated()
print(duplicates)
df.drop_duplicates()
df

 结果:

 

### 如何使用爬虫抓取和处理序列化数据 在现代Web开发中,许多网站采用前后端分离架构,前端通过AJAX请求向后端获取JSON或其他形式的序列化数据。传统的静态HTML解析方式无法有效应对这种场景下的数据抓取需求。以下是关于如何利用Python爬虫技术来读取、抓取以及处理序列化数据的具体方法。 #### 使用Requests库发送HTTP请求 对于大多数基于API接口返回JSON格式数据的情况,可以直接使用`requests`库发起GET或POST请求,解析响应内容。例如: ```python import requests url = 'https://example.com/api/data' headers = {'User-Agent': 'Mozilla/5.0'} # 设置合适的头部信息模拟浏览器行为 response = requests.get(url, headers=headers) if response.status_code == 200: data = response.json() # 将JSON字符串转换成字典对象 else: print(f"Failed to fetch data: {response.status_code}") ``` 上述代码展示了基本流程[^1],其中需要注意的是目标站点可能设置了反爬机制,比如验证Referer字段或者要求特定Cookie值等额外参数设置才能成功访问资源。 #### 利用Selenium自动化浏览器操作 当遇到某些复杂的动态加载过程仅靠简单的网络请求难以完成时,则可考虑引入功能更强大的工具——Selenium WebDriver。它能够驱动真实浏览器执行脚本从而实现对JavaScript渲染后的DOM树进行全面探索。 安装依赖包之后初始化一个WebDriver实例即可开始交互: ```python from selenium import webdriver from selenium.webdriver.common.by import By from time import sleep driver_path = '/path/to/chromedriver' options = webdriver.ChromeOptions() prefs = {"profile.managed_default_content_settings.images": 2} # 不加载片加快速度 options.add_experimental_option("prefs", prefs) browser = webdriver.Chrome(executable_path=driver_path,options=options) try: browser.get('http://target-site-url') element = browser.find_element(By.ID,'some-id') # 查找指定id元素 js_script='return window.fetch("/api/resource").then(r=>r.json())'; api_data=browser.execute_script(js_script) # 执行自定义js获得内部调用结果 finally: sleep(3) browser.quit() print(api_data) ``` 这里演示了一个技巧性的做法即借助execute_script函数运行一段javascript代码片段直接截获原本由前端框架触发却隐藏于视之外的实际远程服务通信细节[^4]。 #### 数据预处理阶段 无论是哪种途径取得原始资料都需要进一步清理以便后续统计分析工作顺利开展。Pandas作为数据分析领域不可或缺的一员提供了丰富的表格型结构支持,在此环节发挥重要作用。 假设已经得到了一份包含多条记录的大列表list_of_dicts代表每一条目都是独立的小字典型态构成整体集合体。 那么创建DataFrame非常简单明了如下所示: ```python import pandas as pd df = pd.DataFrame(list_of_dicts) cleaned_df=df.dropna(subset=['key_column']) # 删除缺失关键列项行 filtered_rows= cleaned_df[(cleaned_df['price']>min_price)& (cleaned_df['area']<max_area)] # 过滤条件范围内的样本 group_stats= filtered_rows.groupby(['category']).agg({'value':'mean'}) # 按类别分组计算均值指标 ``` 以上步骤涵盖了从初步筛选去除异常点到最后按需聚合统计数据整个链条上的核心动作[^3]。 ---
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值