Python--Pandas基础------1

Pandas 是一个基于 Python 编程语言的开源数据分析工具,专注于提供快速、灵活且高效的数据结构和数据操作工具。Pandas 提供了丰富的功能,包括数据清洗、数据转换、数据分组、数据合并等。它能够轻松处理各种数据源的数据导入和导出,如CSV、Excel、数据库等。在数据清洗方面,Pandas 提供了丰富的工具来处理缺失值、重复值以及进行数据格式的转换。数据操作时,Pandas 支持通过标签或位置进行数据的选择、过滤和操作,同时也支持复杂的数据操作,如数据透视表、时间序列处理等。由于 Pandas 基于 NumPy 开发,因此它能够高效地处理大规模数据,提供了优化的算法和数据结构,使得用户可以快速进行数据分析和处理。

Pandas 是一款功能强大、易于学习和使用的数据分析工具,它的出现极大地简化了数据处理和分析的流程,成为数据科学领域不可或缺的重要工具之一。

目录

一、安装pandas:

二、pandas使用

1.Series对象创建:

方法一:从列表或数组创建

方法二:从字典创建

方法三:使用标量值创建

方法四:从 NumPy 数组创建

方法五:通过显式指定索引创建

2.DataFrame对象创建

方法一:从字典创建

方法二:从列表列表或二维数组创建

方法三:从 NumPy 数组创建

方法四:从 Series 创建


一、安装pandas:

在pycharm的终端或命令指示符中输入:

pip install pandas

导入:
 

import pandas as pd

Series对象包装的是numpy中的一维数组,实际上是将一个一维数 组与一个索引名称捆绑在一起了。

DataFrame 是 Pandas 中的一个表格型的数据结构,有行索引也有 列索引。

二、pandas使用

1.Series对象创建:

Series:一维数组,与Numpy中的一维array类似。它是一种类似于 一维数组的对象,是由一组数据(各种 NumPy 数据类型)以及一组与 之相关的数据标签(即索引)组成。仅由一组数据也可产生简单的 Series 对象。用值列表生成 Series 时,Pandas 默认自动生成整数索引 。 

方法一:从列表或数组创建
import pandas as pd# 从列表创建Series
data = [1, 3, 5, 7, 9]
series1 = pd.Series(data)
print(series1)
# Output:
# 0    1
# 1    3
# 2    5
# 3    7
# 4    9
# dtype: int64# 自定义索引
index = ['A', 'B', 'C', 'D', 'E']
series2 = pd.Series(data, index=index)
print(series2)
# Output:
# A    1
# B    3
# C    5
# D    7
# E    9
# dtype: int64

方法二:从字典创建

import pandas as pd# 从字典创建Series,字典的键作为索引
data = {'A': 1, 'B': 3, 'C': 5, 'D': 7, 'E': 9}
series3 = pd.Series(data)
print(series3)
# Output:
# A    1
# B    3
# C    5
# D    7
# E    9
# dtype: int64
方法三:使用标量值创建
import pandas as pd# 使用标量值创建Series
series4 = pd.Series(5, index=['A', 'B', 'C', 'D'])
print(series4)
# Output:
# A    5
# B    5
# C    5
# D    5
# dtype: int64
方法四:从 NumPy 数组创建
import pandas as pd
import numpy as np# 从NumPy数组创建Series
data = np.array([10, 20, 30, 40, 50])
series5 = pd.Series(data)
print(series5)
# Output:
# 0    10
# 1    20
# 2    30
# 3    40
# 4    50
# dtype: int64
方法五:通过显式指定索引创建
import pandas as pd# 通过显式指定索引创建Series
data = [1, 2, 3, 4]
index = ['A', 'B', 'C', 'D']
series6 = pd.Series(data, index=index)
print(series6)
# Output:
# A    1
# B    2
# C    3
# D    4
# dtype: int64

2.DataFrame对象创建

DataFrame 是 Pandas 中的重要数据结构,类似于电子表格或数据库中的二维数据表。它由多行和多列组成,每行每列都有标签,可以容纳不同类型的数据。DataFrame 提供了丰富的数据操作和分析功能,包括数据筛选、转换、合并等,广泛应用于数据处理和分析任务中。

方法一:从字典创建

可以使用字典来创建 DataFrame,其中字典的键通常作为列名,字典的值可以是列表、NumPy 数组或 Series。

import pandas as pd# 从字典创建DataFrame
data = {'Name': ['Alice', 'Bob', 'Charlie', 'David'],'Age': [25, 30, 35, 40],'City': ['New York', 'Los Angeles', 'Chicago', 'Houston']
}df = pd.DataFrame(data)
print(df)
# Output:
#       Name  Age         City
# 0    Alice   25     New York
# 1      Bob   30  Los Angeles
# 2  Charlie   35      Chicago
# 3    David   40      Houston
方法二:从列表列表或二维数组创建

可以使用包含列表或二维数组的列表来创建 DataFrame,需要指定列名(列索引)。

import pandas as pd# 从列表列表创建DataFrame
data = [['Alice', 25, 'New York'],['Bob', 30, 'Los Angeles'],['Charlie', 35, 'Chicago'],['David', 40, 'Houston']
]df = pd.DataFrame(data, columns=['Name', 'Age', 'City'])
print(df)
# Output:
#       Name  Age         City
# 0    Alice   25     New York
# 1      Bob   30  Los Angeles
# 2  Charlie   35      Chicago
# 3    David   40      Houston
方法三:从 NumPy 数组创建

可以使用 NumPy 数组来创建 DataFrame,需要指定列名(列索引)。

import pandas as pd
import numpy as np# 从NumPy数组创建DataFrame
data = np.array([['Alice', 25, 'New York'],['Bob', 30, 'Los Angeles'],['Charlie', 35, 'Chicago'],['David', 40, 'Houston']
])df = pd.DataFrame(data, columns=['Name', 'Age', 'City'])
print(df)
# Output:
#       Name Age         City
# 0    Alice  25     New York
# 1      Bob  30  Los Angeles
# 2  Charlie  35      Chicago
# 3    David  40      Houston
方法四:从 Series 创建

可以使用多个 Series 对象来创建 DataFrame,每个 Series 对象将成为 DataFrame 的一列,需要指定列名。

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

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

相关文章

2024100读书笔记|《飞花令·夏》——鲜鲫银丝脍,香芹碧涧羹,人皆苦炎热,我爱夏日长

2024100读书笔记|《飞花令夏》——鲜鲫银丝脍,香芹碧涧羹,人皆苦炎热,我爱夏日长 《飞花令夏(中国文化古典诗词品鉴)》素心落雪 编著,飞花令得名于唐代诗人韩翃《寒食》中的名句“春城无处不飞花”&#xf…

matlab仿真 模拟调制(下)

(内容源自详解MATLAB/SIMULINK 通信系统建模与仿真 刘学勇编著第五章内容,有兴趣的读者请阅读原书) clear all ts0.001; t0:ts:10-ts; fs1/ts; dffs/length(t); msgrandi([-3 3],100,1); msg1msg*ones(1,fs/10); msg2reshape(ms…

Stable Diffusion 使用详解(1)---- 提示词及相关参数

目录 背景 提示词 内容提示词 人物及主体特征 场景 环境光照 画幅视角 注意事项及示例 标准化提示词 画质等级 风格与真实性 具体要求 背景处理 光线与色彩 负向提示词 小结 常用工具 另外几个相关参数 迭代步数 宽度与高度 提示词引导系数 图片数量 背景…

算法学习7——回溯算法

什么是回溯算法? 回溯算法是一种试探性搜索算法,通过递归的方式逐步构建解决方案,并在发现当前路径不满足条件时回退到上一步。回溯算法特别适用于组合优化问题,如全排列、组合、子集和图的着色问题等。 回溯算法的特点 递归&a…

cdh社区版免费替代方案。

免费的话,现在国产化的东西其实也还可以,而且国家在追求信创(信息科技创新)嘛。只有用的人多了,用的公司多了,国产的才有钱。才会发展的更好,良性循环。恶性的就是操作系统,大家都在…

Unity | Shader基础知识(第十九集:顶点着色器的进一步理解-易错点讲解)

目录 一、前言 二、网格 三、方法UnityObjectToClipPos 四、顶点着色器和片元着色器的POSITION 五、作者的碎碎念 一、前言 之前我们简单讲解过顶点着色器,也简单讲解了表面着色器,并且一起做了一些案例,因为顶点着色器本身是更自由一些…

RT-Thread必考面试题及参考答案

目录 RT-Thread操作系统的核心架构是什么? RT-Thread支持哪些微处理器架构? RT-Thread中任务调度的基本原则是什么? 如何在RT-Thread中创建一个新的线程? RT-Thread中的线程优先级如何影响调度? RT-Thread中的信号量和互斥锁有何区别? 描述一下RT-Thread中消息队列…

【Git多人协作开发】不同的分支下的多人协作开发模式

目录 0.前言背景 1.开发者1☞完成准备工作&协作开发 1.1查看分支情况 1.2创建本地分支feature-1 1.3三板斧 1.4push推本地分支feature-1到远程仓库 2.开发者2☞完成准备工作&协作开发 2.1创建本地分支feature-2 2.2三板斧 2.2push推送本地feature-2到远程仓库…

Sprong Boot学习|使用 guava-retrying 实现重试

背景 后端业务系统可能会在接口调用失败、网络拥塞超时、任务执行失败、系统错误等异常情况出现的时候进行重试操作,然而不同的场景对于重试的延迟间隔,频次等会有不同的要求,如果自己编排重试代码会比较繁琐,使用 guava-retryin…

LeetCode:合并2个有序数组(C语言)

1、2个非递减排序的整数数组nums1和nums2,2个整数m和n,代表nums1和nums2中的元素个数。合并nums2到nums1,合并后的数组也进行非递减排序 2、示例 示例 1: 输入:nums1 [1,2,3,0,0,0], m 3, nums2 [2,5,6], n 3 输出…

springSecurity学习之springSecurity web如何取得用户信息

web如何取得用户信息 之前说过SecurityContextHolder默认使用的是ThreadLocal来进行存储的,而且每次都会清除,但是web每次请求都会验证用户权限,这是如何做到的呢? 这是通过SecurityContextPersistenceFilter来实现的&#xff0…

FineBI连接MySQL5.7

一、在FineBI系统管理中,点击【新建数据库连接】 选择MySQL数据库 配置数据库连接,如下,其中数据库名称就是需要连接的目标数据库

《昇思 25 天学习打卡营第 21 天 | LSTM+CRF序列标注模型实现 》

《昇思 25 天学习打卡营第 21 天 | LSTMCRF序列标注模型实现 》 活动地址:https://xihe.mindspore.cn/events/mindspore-training-camp 签名:Sam9029 序列标注问题概述 序列标注是信息抽取中的一个关键任务,包括分词、词性标注、命名实体识别…

【通信协议-RTCM】MSM语句(2) - RINEXMSM7语句总结(重要!自动化开发计算卫星状态常用)

注释: 在工作中主要负责的是RTCM-MSM7语句相关开发工作,所以主要介绍的就是MSM7语句相关内容 1. 相位校准参考信号 2. MSM1、MSM2、MSM3、MSM4、MSM5、MSM6和MSM7的消息头内容 DATA FIELDDF NUMBERDATA TYPENO. OF BITSNOTES Message Number - 消息编…

四、Object 通⽤⽅法

Object是Java中所有类的基类,是最顶级的父类。在Java中,每个类都直接或间接地继承自Object类,即使没有显式地声明继承关系,Java也会自动为每个类添加extends Object。这意味着,Object类中定义的方法可以被所有Java类使…

React组件定义

一、定义 组件是是构建用户界面(UI)的基础,它可以是一个输入框、按钮、也可以是一整个页面。组件可以分为以下2种类型: 1、函数组件(Functional Components) 顾名思义就是用来函数定义的组件&#xff0c…

DML数据操作语句和基本的DQL语句

一、MySQL对数据的增删改查 1.DML语句 1.1 增加数据(INSERT) insert into 表名 (字段名,字段名,...字段名) values/value (值,值,...值) 1.1.1 新增数据的具体实现 (1)全字段的插入 方式一: insert into student (sid,sname,birthday,ssex,…

C++的智能指针

说实话以前用这个很少&#xff0c;一个指针打天下&#xff0c;不过都智能了&#xff0c;分配了就不管了&#xff0c;想来还是很方便。。。 1 unique_ptr 代码示例&#xff1a; #include <iostream> #include <memory>class MyClass { public:MyClass() { std::c…

【2024最新华为OD-C/D卷试题汇总】[支持在线评测] 开源项目热度排行榜(100分) - 三语言AC题解(Python/Java/Cpp)

🍭 大家好这里是清隆Coding ,一枚热爱算法的程序员 ✨ 本系列打算持续跟新华为OD-C/D卷的三语言AC题解 👏 感谢大家的订阅➕ 和 喜欢💗 🍿 最新华为OD机试D卷目录,全、新、准,题目覆盖率达 95% 以上,支持题目在线评测,专栏文章质量平均 93 分 最新华为OD机试目录…

Linux网络-配置IP

作者介绍&#xff1a;简历上没有一个精通的运维工程师。希望大家多多关注作者&#xff0c;下面的思维导图也是预计更新的内容和当前进度(不定时更新)。 本来IP配置应该放在Linux安装完成的就要配置的&#xff0c;但是由于那个时候对Linux不怎么熟悉&#xff0c;所以单独列了一个…