【第三章 Python 机器学习入门之Series和DataFrame的创建、索引、切片、数据清洗、数据分析等】

这篇具有很好参考价值的文章主要介绍了【第三章 Python 机器学习入门之Series和DataFrame的创建、索引、切片、数据清洗、数据分析等】。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


第一章 Python 机器学习入门之Pandas库的使用

第二章 Python 机器学习入门之NumPy库的使用

第三章 Python 机器学习入门之Series和DataFrame的创建、索引、切片、数据清洗、数据分析等

第四章 Python 机器学习入门之数据可视化
第五章 Python 机器学习入门之机器学习算法
第六章 Python 机器学习入门之实战项目
【第三章 Python 机器学习入门之Series和DataFrame的创建、索引、切片、数据清洗、数据分析等】

一、创建Series

1. Series的创建

Series是一种一维数组,可以通过以下方式创建:

通过列表创建Series

使用pd.Series()函数创建Series对象,可以指定index参数来自定义索引,指定dtype参数来指定数据类型。例如:

s = pd.Series([1, 2, 3, 4, 5], index=['a', 'b', 'c', 'd', 'e'], dtype=float)
print(s)

输出结果:

a    1.0
b    2.0
c    3.0
d    4.0
e    5.0
dtype: float64

可以使用Python内置函数list()将其他数据类型转换为列表,使用Python内置函数range()生成一定范围内的整数序列,使用NumPy库中的函数生成一定范围内的随机数序列,使用Python内置函数zip()将多个列表合并为一个元组列表。

通过字典创建Series

使用pd.Series()函数创建Series对象,字典的键将作为Series的索引,字典的值将作为Series的数据,可以指定dtype参数来指定数据类型。例如:

d = {'a': 1, 'b': 2, 'c': 3, 'd': 4, 'e': 5}
s = pd.Series(d, dtype=float)
print(s)

输出结果:

a    1.0
b    2.0
c    3.0
d    4.0
e    5.0
dtype: float64

二、 DataFrame的创建

DataFrame是一种二维表格,可以通过以下方式创建:
WX搜公众号:资源充电吧
0R扫码关注

因为我在学习过程中经常要找资料,而且很多要付费,所以干了个免费的资源分享平台。不要想太多,真的无偿,关注回复想要的资料即可

免费分享2023的热门IT学习资料,各平台的各种教程,源码
【第三章 Python 机器学习入门之Series和DataFrame的创建、索引、切片、数据清洗、数据分析等】

通过列表创建DataFrame

使用pd.DataFrame()函数创建DataFrame对象,可以指定columns参数来自定义列名,指定index参数来自定义索引。例如:

data = {'name': ['Alice', 'Bob', 'Charlie', 'David'], 'age': [25, 30, 35, 40], 'gender': ['F', 'M', 'M', 'M']}
df = pd.DataFrame(data, columns=['name', 'age', 'gender'], index=['a', 'b', 'c', 'd'])
print(df)

输出结果:

a     Alice   25      F
b       Bob   30      M
c   Charlie   35      M
d     David   40      M

可以使用Python内置函数list()将其他数据类型转换为列表,使用Python内置函数zip()将多个列表合并为一个元组列表。

通过字典创建DataFrame

使用pd.DataFrame()函数创建DataFrame对象,字典的键将作为DataFrame的列名,字典的值将作为DataFrame的数据,可以指定columns参数来自定义列名,指定index参数来自定义索引。例如:

data = {'name': ['Alice', 'Bob', 'Charlie', 'David'], 'age': [25, 30, 35, 40], 'gender': ['F', 'M', 'M', 'M']}
df = pd.DataFrame.from_dict(data, orient='columns', columns=['name', 'age', 'gender'], index=['a', 'b', 'c', 'd'])
print(df)

输出结果:

a     Alice   25      F
b       Bob   30      M
c   Charlie   35      M
d     David   40      M

三、. 索引和切片

Series的索引和切片

使用[]操作符进行索引,使用.loc[]方法进行标签索引,使用.iloc[]方法进行位置索引,使用切片进行切片操作,使用布尔索引进行筛选操作。例如:

s = pd.Series([1, 2, 3, 4, 5], index=['a', 'b', 'c', 'd',

输出结果

1.0 1.0 1.0 b 2.0 c 3.0 d 4.0 e 5.0 dtype: float64

d 4.0 e 5.0 dtype: float64

DataFrame的索引和切片

使用[]操作符进行索引,使用.loc[]方法进行标签索引,使用.iloc[]方法进行位置索引,使用切片进行切片操作,使用布尔索引进行筛选操作。例如

import pandas as pd

data = {'name': ['Alice', 'Bob', 'Charlie', 'David'], 'age': [25, 30, 35, 40], 'gender': ['F', 'M', 'M', 'M']}
df = pd.DataFrame(data, columns=['name', 'age', 'gender'], index=['a', 'b', 'c', 'd'])

#索引
print(df['name'])

#标签索引
print(df.loc['a'])

#位置索引
print(df.iloc[0])

#切片
print(df[1:3])

#筛选
print(df[df['age'] > 30])
输出结果:

```csharp
a       Alice
b         Bob
c     Charlie
d       David
Name: name, dtype: object

name      Alice
age          25
gender        F
Name: a, dtype: object

name      Alice
age          25
gender        F
Name: a, dtype: object

       name  age gender
b       Bob   30      M
c   Charlie   35      M

       name  age gender
c   Charlie   35      M
d     David   40      M

四、 数据清洗

删除重复行

使用.drop_duplicates()方法删除DataFrame中的重复行。例如:

import pandas as pd

data = {'name': ['Alice', 'Bob', 'Charlie', 'David', 'Bob'], 'age': [25, 30, 35, 40, 30], 'gender': ['F', 'M', 'M', 'M', 'M']}
df = pd.DataFrame(data, columns=['name', 'age', 'gender'])

# 删除重复行
df = df.drop_duplicates()
print(df)

输出结果:

      name  age gender
0    Alice   25      F
1      Bob   30      M
2  Charlie   35      M
3    David   40

五、替换空值

使用.fillna()方法将DataFrame中的空值替换为指定的值。例如

import pandas as pd

data = {'name': ['Alice', 'Bob', 'Charlie', 'David'], 'age': [25, None, 35, 40], 'gender': ['F', 'M', 'M', None]}
df = pd.DataFrame(data, columns=['name', 'age', 'gender'])

# 替换空值
df = df.fillna({'age': 30, 'gender': 'M'})
print(df)

输出结果:

       name   age gender
0     Alice  25.0      F
1       Bob  30.0      M
2   Charlie  35.0      M
3     David  40.0      M

六、数据类型转换

【第三章 Python 机器学习入门之Series和DataFrame的创建、索引、切片、数据清洗、数据分析等】

在Pandas中,Series和DataFrame的数据类型转换可以使用astype()方法。astype()方法可以将Series或DataFrame中的数据类型转换为指定的数据类型。下面是一些示例代码:

import pandas as pd

# 创建一个Series
s = pd.Series(['1', '2', '3'])
print(s)

# 将Series中的数据类型转换为整型
s = s.astype(int)
print(s)

# 创建一个DataFrame
df = pd.DataFrame({'A': ['1', '2', '3'], 'B': ['4', '5', '6']})
print(df)

# 将DataFrame中的数据类型转换为整型
df = df.astype(int)
print(df)

输出结果:

0    1
1    2
2    3
dtype: object
0    1
1    2
2    3
dtype: int64
  A  B
0  1  4
1  2  5
2  3  6
  A  B
0  1  4
1  2  5
2  3  6

七、.数据分析

【第三章 Python 机器学习入门之Series和DataFrame的创建、索引、切片、数据清洗、数据分析等】

在Pandas中,Series和DataFrame的数据分析可以使用多种方法,包括描述性统计、排序、筛选、分组、聚合等操作。下面是一些示例代码:

import pandas as pd

# 创建一个Series
s = pd.Series([1, 2, 3, 4, 5])

# 描述性统计
print(s.describe())

# 排序
print(s.sort_values(ascending=False))

# 筛选
print(s[s > 3])

# 创建一个DataFrame
df = pd.DataFrame({'A': [1, 2, 3, 4,{'A': [1, 2, 3, 4, 5], 'B': [6, 7, 8, 9, 10]})\n\n# 分组\ngrouped = df.groupby('A')\n\n# 聚合\nprint(grouped.aggregate(['sum', 'mean', 'max']))\n```\n\n输出结果:\n\n```\ncount    5.000000\nmean     3.000000\nstd      1.581139\nmin      1.000000\n25%      2.000000\n50%      3.000000\n75%      4.000000\nmax      5.000000\ndtype: float64\n4    5\n3    4\n2    3\n1    2\n0    1\ndtype: int64\n3    4\n4    5\ndtype: int64\n  B           
  sum mean max
A              
1  6.0  6.0   6
2  7.0  7.0   7
3  8.0  8.0   8
4  9.0  9.0   9
5  10.0 10.0  10

八、总结

在Python机器学习入门中,我们学习了Pandas库中的Series和DataFrame的创建、索引、切片、数据清洗、数据分析等操作。下面是本次学习的总结:

Series是一种一维数组,可以通过列表、字典、数组等方式创建。Series可以通过索引进行访问和修改,支持切片操作。

DataFrame是一种二维表格,可以通过列表、字典、数组等方式创建。DataFrame可以通过列名和行索引进行访问和修改,支持切片操作。

数据清洗是数据分析的前置工作,包括处理缺失值、重复值、异常值等问题。Pandas提供了多种方法用于数据清洗,如dropna()、fillna()、drop_duplicates()、replace()等。

数据分析是数据挖掘的核心工作,包括描述性统计、排序、筛选、分组、聚合等操作。Pandas提供了多种方法用于数据分析,如describe()、sort_values()、groupby()、aggregate()等。

数据可视化是数据分析的重要手段,可以通过图表展示数据的分布、趋势等信息。Pandas提供了多种图表类型的可视化方法,如plot()、hist()、scatter()等。

总之,Pandas是Python机器学习中不可或缺的工具之一,掌握Pandas的使用方法对于数据分析和挖掘工作非常重要。文章来源地址https://www.toymoban.com/news/detail-450754.html

到了这里,关于【第三章 Python 机器学习入门之Series和DataFrame的创建、索引、切片、数据清洗、数据分析等】的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【UnityShader入门精要学习笔记】第三章(2)Unity Shader的形式,章节答疑

    本系列为作者学习UnityShader入门精要而作的笔记,内容将包括: 书本中句子照抄 + 个人批注 项目源码 一堆新手会犯的错误 潜在的太监断更,有始无终 总之适用于同样开始学习Shader的同学们进行有取舍的参考。 (该系列笔记中大多数都会复习前文的知识,特别是前文知识非

    2024年02月02日
    浏览(52)
  • 「第三章」python-docx 添加标题,word标题从入门到精通

    💡 1. add_heading() 简介 💡 2. add_heading() 基本用法 💡 3. 设置不同级别的标题 💡 4. 设置带有特殊字符的标题 💡 5. 使用循环添加多个标题 💡 6. 使用不同样式添加标题 💡 7. 结合其他元素使用标题 💡 8. 为标题设置复杂多变的样式 最近一段时间,一直在更新python关于PDF文档、

    2024年02月02日
    浏览(43)
  • KALI入门到高级【第三章】

    第一章 入门 1.1 什么是Kali Linux? 1.2 安装Kali Linux 1.3 Kali Linux桌面环境介绍 1.4 基本命令和工具 第二章 信息收集 1.1 网络扫描 1.2 端口扫描 1.3 漏洞扫描 1.4 社交工程学 第三章 攻击和渗透测试 1.1 密码破解 1.2 暴力破解 1.3 漏洞利用 1.4 特权升级 1.5 远程访问 1.6 数据包嗅探和欺骗

    2024年02月01日
    浏览(49)
  • 第三章. Pandas入门—索引设置

    第三章. Pandas入门 1).函数格式: 参数说明: labels:可以是数组 index:行索引 columns:列索引 axis:0:表示行 1:表示列 method:重新设置索引时,选择的差值方式:None,bfill(向后填充),ffill(向前填充) fill_value:缺失值填充的数据 2)对Series对象重新设置索引: 结果展示: 3).对DataFrame对象重

    2024年02月15日
    浏览(51)
  • webrtc 入门第三章 建立连接

    一、介绍 1、概述 ​ 在前面的章节我们学习了通过webrtc的基本操作实现了获取本地媒体流、音视频的获取与操作。在得到本地的媒体流后我们就需要将本地媒体数据发送到远端,远端街道媒体流后渲染可视化,从而达到通话的目的。 ​ RTCPeerConnection 连接的核心pai接口,使用

    2023年04月10日
    浏览(36)
  • 第三章:最新版零基础学习 PYTHON 教程(第十五节 - Python 运算符—Python 成员身份和身份运算符)

    在本文中,我们将学习 Python 成员资格和身份运算符。 会员运营商 Python 提供了两个成员资格运算符来检查或验证值的成员资格。它测试序列(例如字符串、列表或元组)中的成员资格。  in 运算符:  “in”运算符用于检查序列中是否存在字符/子字符串/元素。如果在序列中

    2024年02月07日
    浏览(46)
  • javacv从入门到精通——第三章:基本使用

    JavaCV的基本结构如下: JavaCV核心类 :JavaCV核心类是JavaCV库的核心,它包括了JavaCV的所有功能和特性,可以用来进行计算机视觉和人工智能任务的开发和实现。JavaCV核心类的主要功能包括:视频捕获、视频编解码、图像处理、人脸检测、特征提取等。 基本数据类型: JavaCV库支

    2023年04月16日
    浏览(52)
  • 最优化学习笔记——第三章

    非线性规划比线性规划更困难,没有统一的数学模型,有自己特定的适用范围,目前还没有通用于所有问题的非线性规划问题的算法 满足以上条件的解释可行解,所有解为可行域,如果可行域=R n ,则为无约束问题,否则为有约束问题 如果所有的约束与目标函数都是凸函数,

    2024年02月03日
    浏览(82)
  • JAVA学习笔记——第三章 变量

    🔥 博客主页 : A_SHOWY 🎥 系列专栏 :力扣刷题总结录 数据结构  云计算  数字图像处理  力扣每日一题_  变量是程序的基本组成单位,是内存中的一个数据存储空间。变量有三个基本要素:类型+名称+值。变量的使用,声明后赋值后即可使用 变量使用注意事项:同c+

    2024年01月18日
    浏览(74)
  • python第三章作业(初级)

    任务描述 输入三个数a,b,c, 判断能否以它们为三个边长构成直角三角形。若能,输出YES,否则输出NO。 输入格式‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬ 输入包括三行,每行

    2023年04月10日
    浏览(43)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包