山东住房和城乡建设厅网站电话/在线代理浏览网站

山东住房和城乡建设厅网站电话,在线代理浏览网站,如何做网站维护,建网站的企业一、Pandas库简介 Pandas 是一个开源的 Python 数据分析库,主要用于数据清洗、处理、探索与分析。其核心数据结构是 Series(一维数据)和 DataFrame(二维表格数据),可以让我们高效地操作结构化数据。Pandas …

一、Pandas库简介

        Pandas 是一个开源的 Python 数据分析库,主要用于数据清洗、处理、探索与分析。其核心数据结构是 Series(一维数据)和 DataFrame(二维表格数据),可以让我们高效地操作结构化数据。Pandas 提供了许多灵活且高效的数据操作方法,能够快速地进行数据筛选、聚合、转换和可视化,是数据科学和机器学习工作流中非常重要的一环。

二、Pandas库安装

  通常直接通过 pip 来安装;当然,在Anaconda虚拟环境中亦可用如下两种方式:

pip install pandasconda install pandas

  在编写中导入Pandas库,我们通常会习惯将其简化为pd:

import pandas as pd

三、常用的Pandas函数

1、数据读取

Pandas库支持多种数据格式的导入,例如 CSV、Excel、SQL 数据库、JSON 等,方便我们从各种数据源中获取数据。假设我们有一个CSV文件,内部如下:

ID,Name,Age,Score
1,Tom,22,85.0
2,Lily,21,92.0
3,Jack,23,78.0
4,Lucy,22,89.0
5,Rose,21,95.0

我们想要读取,则可以:

import pandas as pd# 读取 CSV 文件
df = pd.read_csv('sample.csv')  
print(df.head())  # 查看前 5 行

样例输出:

   ID Name  Age   Score
0   1  Tom   22   85.0
1   2  Lily  21   92.0
2   3  Jack  23   78.0
3   4  Lucy  22   89.0
4   5  Rose  21   95.0

 2、查看数据

如果我们想快速检查数据的基本信息,如行数、列数、数据类型,则可以前面的基础上加上:

print(df.info())    # 查看数据的基本信息
print(df.describe())  # 生成数据的统计摘要

样例输出:

<class 'pandas.core.frame.DataFrame'>
RangeIndex: 5 entries, 0 to 4
Data columns (total 4 columns):#   Column  Non-Null Count  Dtype
---  ------  --------------  -----0   ID      5 non-null      int641   Name    5 non-null      object2   Age     5 non-null      int643   Score   5 non-null      float64
dtypes: float64(1), int64(2), object(1)
memory usage: 288.0+ bytes
NoneID       Age      Score
count  5.000000   5.00000   5.000000
mean   3.000000  21.80000  87.800000
std    1.581139   0.83666   6.610598
min    1.000000  21.00000  78.000000
25%    2.000000  21.00000  85.000000
50%    3.000000  22.00000  89.000000
75%    4.000000  22.00000  92.000000
max    5.000000  23.00000  95.000000

 3、数据选择与过滤

当然,我们还可以对数据进行选择和过滤,就像下面这样:

# 选择某一列
print(df['Name'],'\n')  # 选择多列
print(df[['Name', 'Score']],'\n')  # 选择特定行(iloc 按索引,loc 按标签)
print(df.iloc[1])  
print(df.loc[df['Score'] > 90])  # 筛选成绩大于 90 的行

样例输出:

0     Tom
1    Lily
2    Jack
3    Lucy
4    Rose
Name: Name, dtype: object Name  Score
0   Tom   85.0
1  Lily   92.0
2  Jack   78.0
3  Lucy   89.0
4  Rose   95.0 ID          2
Name     Lily
Age        21
Score    92.0
Name: 1, dtype: objectID  Name  Age  Score
1   2  Lily   21   92.0
4   5  Rose   21   95.0

4、数据清洗

Pandas库还可以处理缺失值(用dropna、fillna)、重复值(用drop_duplicates)、替换值(用replace)等。

例如:(我们先把CSV中Rose的score删掉

# 删除缺失值
df_cleaned = df.dropna()
print("删除缺失值后的DataFrame:")
print(df_cleaned.head())# 填充缺失值
df_filled = df.fillna(value={'Score': df['Score'].mean()})
print("\n填充缺失值后的DataFrame:")
print(df_filled.head())# 删除重复值
df_unique = df.drop_duplicates()
print("\n删除重复值后的DataFrame:")
print(df_unique.head())# 替换值
df_replaced = df.replace({'Tom': 'Tommy'})
print("\n替换值后的DataFrame:")
print(df_replaced.head())

样例输出:

删除缺失值后的DataFrame:ID  Name  Age  Score 
0   1   Tom   22   85.0 
1   2  Lily   21   92.0 
2   3  Jack   23   78.0 
3   4  Lucy   22   89.0 填充缺失值后的DataFrame:ID  Name  Age  Score 
0   1   Tom   22   85.0 
1   2  Lily   21   92.0 
2   3  Jack   23   78.0 
3   4  Lucy   22   89.0 
4   5  Rose   21   86.0 删除重复值后的DataFrame:ID  Name  Age  Score
0   1   Tom   22   85.0
1   2  Lily   21   92.0
2   3  Jack   23   78.0
3   4  Lucy   22   89.0
4   5  Rose   21    NaN替换值后的DataFrame:ID   Name  Age  Score
0   1  Tommy   22   85.0
1   2   Lily   21   92.0
2   3   Jack   23   78.0
3   4   Lucy   22   89.0
4   5   Rose   21    NaN

5、数据的排序、分组求均值、合并、连接

排序会使用到sort_values函数,分组则使用groupby,合并使用merge,连接使用concat

例如:

# 按 'Score' 排序
df_sorted = df.sort_values(by='Score', ascending=False)
print("按 'Score' 排序后的数据:\n", df_sorted)# 分组并求均值
df_grouped = df.groupby('Age')['Score'].mean()
print("按 'Age' 分组并求 'Score' 的均值:\n", df_grouped)# 合并数据
df1 = pd.DataFrame({'ID': [1, 2, 3], 'Class': ['A', 'B', 'A']})
df_merged = df.merge(df1, on='ID', how='left')
print("合并后的数据:\n", df_merged)# 连接多个 DataFrame
df_concat = pd.concat([df, df1], axis=0)
print("连接后的数据:\n", df_concat)

 注意:DataFrame 是Pandas库中的一个函数,用于创建一个数据框(DataFrame)。
        {'ID': [1, 2, 3], 'Class': ['A', 'B', 'A']} 是一个字典,其中键是列名,值是对应的数据。
        'ID' 是列名,对应的数据是 [1, 2, 3];'Class' 是列名,对应的数据是 ['A', 'B', 'A']。
        df1 是一个新创建的数据框,包含两列:ID和Class

        merge是Pandas中用于合并两个数据框的函数。
        df1 是要与当前数据框 df 合并的另一个数据框。
        on='ID' 指定了合并的键(key),即根据两表中的 ID列进行合并。
        how='left' 指定了合并的方式为左连接(left join)。这意味着结果将包含左表(即 df)中的所有行,即使右表(即 df1)中没有匹配的行。如果右表中没有匹配的行,结果中对应的列将填充为NaN。

样例输出:

按 'Score' 排序后的数据:ID  Name  Age  Score
4   5  Rose   21   95.0
1   2  Lily   21   92.0
3   4  Lucy   22   89.0
0   1   Tom   22   85.0
2   3  Jack   23   78.0
按 'Age' 分组并求 'Score' 的均值:Age
21    93.5
22    87.0
23    78.0
Name: Score, dtype: float64      
合并后的数据:ID  Name  Age  Score Class
0   1   Tom   22   85.0     A
1   2  Lily   21   92.0     B
2   3  Jack   23   78.0     A
3   4  Lucy   22   89.0   NaN
4   5  Rose   21   95.0   NaN
连接后的数据:ID  Name   Age  Score Class
0   1   Tom  22.0   85.0   NaN
1   2  Lily  21.0   92.0   NaN
2   3  Jack  23.0   78.0   NaN
3   4  Lucy  22.0   89.0   NaN
4   5  Rose  21.0   95.0   NaN
0   1   NaN   NaN    NaN     A
1   2   NaN   NaN    NaN     B
2   3   NaN   NaN    NaN     A

6、数据转换

例如:

# 创建数据透视表
pivot_table = df.pivot_table(values='Score', index='Age', aggfunc='mean')
print("透视表:\n", pivot_table)# 使用 apply() 转换数据
df['Score_Squared'] = df['Score'].apply(lambda x: x ** 2)
print("转换后的数据:\n", df)# 更改数据类型
df['Age'] = df['Age'].astype(float)
print("更改数据类型后的数据:\n", df)

样例输出:

透视表:Score
Age       
21    93.5
22    87.0
23    78.0
转换后的数据:ID  Name  Age  Score  Score_Squared
0   1   Tom   22   85.0         7225.0 
1   2  Lily   21   92.0         8464.0 
2   3  Jack   23   78.0         6084.0 
3   4  Lucy   22   89.0         7921.0 
4   5  Rose   21   95.0         9025.0 
更改数据类型后的数据:ID  Name   Age  Score  Score_Squared
0   1   Tom  22.0   85.0         7225.0
1   2  Lily  21.0   92.0         8464.0
2   3  Jack  23.0   78.0         6084.0
3   4  Lucy  22.0   89.0         7921.0
4   5  Rose  21.0   95.0         9025.0

7、日期与时间处理

例如:

# 创建日期列
df['Date'] = pd.to_datetime(['2023-01-01', '2023-01-02', '2023-01-03', '2023-01-04', '2023-01-05'])# 提取年份、月份、星期
df['Year'] = df['Date'].dt.year
df['Month'] = df['Date'].dt.month
df['Weekday'] = df['Date'].dt.day_name()print(df)

样例输出:

   ID  Name  Age  Score       Date  Year  Month    Weekday
0   1   Tom   22   85.0 2023-01-01  2023      1     Sunday
1   2  Lily   21   92.0 2023-01-02  2023      1     Monday
2   3  Jack   23   78.0 2023-01-03  2023      1    Tuesday
3   4  Lucy   22   89.0 2023-01-04  2023      1  Wednesday
4   5  Rose   21   95.0 2023-01-05  2023      1   Thursday

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/899390.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

33.[前端开发-JavaScript基础]Day10-常见事件-鼠标事件-键盘事件-定时器-案例

1 window定时器 window定时器方法 setTimeout的使用 setInterval的使用 2 轮播消息提示 案例实战一 – 轮播消息提示 3 关闭隐藏消息 案例实战二 – 关闭隐藏消息 4 侧边栏展示 案例实战三 – 侧边栏展示 5 tab切换实现 案例实战四 – 登录框&#xff08;作业&#xff09;…

react ant design树穿梭框实现搜索并展开到子节点、同级节点选择及同时选择数量限制功能

功能点&#xff1a; 点击节点前的箭头&#xff0c;可以手动展开或折叠该节点的子节点。在搜索框中输入关键词&#xff0c;匹配的节点及其父节点会自动展开。清空搜索框后&#xff0c;恢复到用户手动控制的展开状态。勾选节点时仍然遵守 "最多勾选 6 个节点" 和 &quo…

阿里云云效 Maven

阿里云云效 Maven 官网&#xff1a;https://developer.aliyun.com/mvn/guide 阿里云Maven中央仓库为 阿里云云效 提供的公共代理仓库&#xff0c;帮助研发人员提高研发生产效率&#xff0c;使用阿里云Maven中央仓库作为下载源&#xff0c;速度更快更稳定。 阿里云云效 是企业…

如何在 Postman 中正确设置 Session 以维持用户状态?

在 Postman 里面设置有 session 的请求。如果你还不知道什么是 session&#xff0c;那么请看这里—— session 是一种记录客户端和服务器之间状态的机制&#xff0c;用于保持用户的登录状态或者其他数据&#xff0c;从而让用户在不同页面之间保持一致的体验。 Postman 设置带 …

DQN与PPO在算法层面的核心区别

DQN与PPO在算法层面的核心区别 1. 学习目标不同 DQN(基于价值): 核心:学习动作价值函数 Q ( s , a ) Q(s, a)

解析 HTML 网站架构规范

2025/3/28 向全栈工程师迈进&#xff01; 一、网页基本的组成部分 网页的外观多种多样&#xff0c;但是除了全屏视频或游戏&#xff0c;或艺术作品页面&#xff0c;或只是结构不当的页面以外&#xff0c;都倾向于使用类似的标准组件。 1.1页眉 通常横跨于整个页面顶部有一…

Three.js 快速入门教程【二十】3D模型加载优化实战:使用gltf-pipeline与Draco对模型进行压缩,提高加载速度和流畅性

系列文章目录 Three.js 快速入门教程【一】开启你的 3D Web 开发之旅 Three.js 快速入门教程【二】透视投影相机 Three.js 快速入门教程【三】渲染器 Three.js 快速入门教程【四】三维坐标系 Three.js 快速入门教程【五】动画渲染循环 Three.js 快速入门教程【六】相机控件 Or…

基于51单片机的速度检测报警器proteus仿真

地址&#xff1a; https://pan.baidu.com/s/1I7roZEjrk349Is_YdMcsxQ 提取码&#xff1a;1234 仿真图&#xff1a; 芯片/模块的特点&#xff1a; AT89C52/AT89C51简介&#xff1a; AT89C51 是一款常用的 8 位单片机&#xff0c;由 Atmel 公司&#xff08;现已被 Microchip 收…

DeepSeek 本地化部署教程

1 概述 1.1 配置参考图 科普&#xff1a; B&#xff0c;Billion&#xff08;十亿&#xff09;&#xff0c;是 “参数量” 的单位。 模型量超过 一亿&#xff0c;可称之为 “大模型”。 2 软件安装 2.1 下载 Ollama 官方主页&#xff1a;https://ollama.com/download主页截图…

matlab打开两个工程

1、问题描述 写代码时&#xff0c;需要实时参考别人的代码&#xff0c;需要同时打开2个模型&#xff0c;当模型在同一个工程内时&#xff0c;这是可以直接打开的&#xff0c;如图所示 2、解决方案 再打开一个MATLAB主窗口 这个时候就可以同时打开多个模型了 3、正确的打开方…

mac 下配置flutter 总是失败,请参考文章重新配置flutter 环境MacOS Flutter环境配置和安装

一、安装和运行Flutter的系统环境要求 想要安装并运行 Flutter&#xff0c;你的开发环境需要最低满足以下要求&#xff1a; 操作系统:macOS磁盘空间:2.8 GB(不包括IDE/tools的磁盘空间)。工具:Flutter使用git进行安装和升级。我们建议安装Xcode&#xff0c;其中包括git&#x…

Flutter快速搭建聊天

之前项目中使用的环信聊天&#xff0c;我们的App使用的Flutter开发的 。 所以&#xff0c;就使用的 em_chat_uikit &#xff0c;这个是环信开发的Flutter版本的聊天。 一开始&#xff0c;我们也用的环信的聊天&#xff0c;是收费的&#xff0c;但是&#xff0c;后面就发现&…

Sa-Token

简介 Sa-Token 是一个轻量级 Java 权限认证框架&#xff0c;主要解决&#xff1a;登录认证、权限认证、单点登录、OAuth2.0、分布式Session会话、微服务网关鉴权 等一系列权限相关问题。 官方文档 常见功能 登录认证 本框架 用户提交 name password 参数&#xff0c;调用登…

基于javaweb的SSM航班机票预订平台系统设计与实现(源码+文档+部署讲解)

技术范围&#xff1a;SpringBoot、Vue、SSM、HLMT、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、小程序、安卓app、大数据、物联网、机器学习等设计与开发。 主要内容&#xff1a;免费功能设计、开题报告、任务书、中期检查PPT、系统功能实现、代码编写、论文编写和辅导、论…

JAVA实现动态IP黑名单过滤

一些恶意用户(可能是黑客、爬虫、DDoS 攻击者)可能频繁请求服务器资源&#xff0c;导致资源占用过高。因此需要一定的手段实时阻止可疑或恶意的用户&#xff0c;减少攻击风险。 通过 IP 封禁&#xff0c;可以有效拉黑攻击者&#xff0c;防止资源被滥用&#xff0c;保障合法用户…

开源的CMS建站系统可以随便用吗?有什么需要注意的?

开源CMS建站系统虽然具有许多优点&#xff0c;但并非完全“随便用”。无论选哪个CMS系统&#xff0c;大家在使用的时候&#xff0c;可以尽可能地多注意以下几点&#xff1a; 1、版权问题 了解开源许可证&#xff1a;不同的开源CMS系统采用不同的开源许可证&#xff0c;如GPL、…

故障识别 | 基于改进螂优化算法(MSADBO)优化变分模态提取(VME)结合稀疏最大谐波噪声比解卷积(SMHD)进行故障诊断识别,matlab代码

基于改进螂优化算法&#xff08;MSADBO&#xff09;优化变分模态提取&#xff08;VME&#xff09;结合稀疏最大谐波噪声比解卷积&#xff08;SMHD&#xff09;进行故障诊断识别 一、引言 1.1 机械故障诊断的背景和意义 在工业生产的宏大画卷中&#xff0c;机械设备的稳定运行…

探究 CSS 如何在HTML中工作

2025/3/28 向全栈工程师迈进&#xff01; 一、CSS的作用 简单一句话——美化网页 <p>Lets use:<span>Cascading</span><span>Style</span><span>Sheets</span> </p> 对于如上代码来说&#xff0c;其显示效果如下&#xff1…

硬件老化测试方案的设计误区

硬件老化测试方案设计中的常见误区主要包括测试周期不足、测试条件过于单一、样品选择不当等方面。其中&#xff0c;测试周期不足尤为突出&#xff0c;容易导致潜在缺陷未被完全暴露。老化测试本质上是通过加速产品老化来模拟长期使用状况&#xff0c;因此测试周期不足会严重削…

无锡零碳园区“三年突围”安科瑞源网荷储充系统如何破解“绿电难、储能贵、调度乱”困局?

零碳园区建设如火如荼&#xff0c;为何企业“不敢投、不会用”&#xff1f; 无锡市政府3月27日发布《零碳园区建设三年行动方案》&#xff0c;目标到2027年建成10家以上零碳园区、20家零碳工厂、10个源网荷储一体化项目。但企业仍存疑虑&#xff1a; 绿电消纳难&#xff1a;光…