当前位置: 首页 > wzjs >正文

专业的网站建设运营参考消息今天新闻

专业的网站建设运营,参考消息今天新闻,网站建设与维护实训心得,cen wordpressPython的三方库之Pandas(三) 文章目录 Python的三方库之Pandas(三)一、pandas是什么?1.1 Pandas 的核心数据结构1.2 Pandas 的主要功能1.3. Pandas 的应用场景 二、Series()函数2.1 创建Series对象的方式2.2 访问Series对象的数据2.3 遍历Ser…

Python的三方库之Pandas(三)


文章目录

  • Python的三方库之Pandas(三)
  • 一、pandas是什么?
    • 1.1 Pandas 的核心数据结构
    • 1.2 Pandas 的主要功能
    • 1.3. Pandas 的应用场景
  • 二、Series()函数
    • 2.1 创建Series对象的方式
    • 2.2 访问Series对象的数据
    • 2.3 遍历Series对象
    • 2.4 常用的方法
  • 三、DataFrame
    • 3.1 创建 DataFrame 对象
      • 3.1.1 创建 DataFrame 空对象
      • 3.1.2 列表嵌套字典创建 DataFrame 对象
      • 3.1.3 字典嵌套列表创建 DataFrame 对象
      • 3.1.4 Series 创建 DataFrame 对象
    • 3.2 列索引操作
      • 3.2.1选取数据
      • 3.2.2 添加数据
      • 3.2.3 修改数据


一、pandas是什么?

Pandas 是一个开源的 Python 数据分析和操作库,它提供了高性能、易用的数据结构和数据分析工具,广泛应用于数据科学、机器学习、金融分析等领域。以下是关于 Pandas 的详细介绍:

1.1 Pandas 的核心数据结构

  • DataFrame
    • 这是 Pandas 最重要的数据结构之一,它是一个二维表格型数据结构,类似于 Excel 中的工作表。它由行和列组成,每一列可以存储不同类型的数据(如整数、浮点数、字符串等)。
    • 例如,可以用来存储一个公司的员工信息表,其中每一列代表员工的姓名、年龄、职位等信息,每一行代表一个员工。
  • Series
    • 它是一维数组,类似于 Python 中的列表,但与列表不同的是,Series 有一个索引(index)。索引可以是数字、字符串或其他类型,用于标识每个元素。
    • 例如,可以用来存储某个月份每天的气温数据,索引是日期,值是对应的气温。

1.2 Pandas 的主要功能

  • 数据读取与写入
    • Pandas 支持多种数据格式的读取和写入,包括 CSV、Excel、JSON、SQL 数据库等。例如,可以使用 pd.read_csv() 函数从 CSV 文件中读取数据,使用 df.to_excel() 将数据保存到 Excel 文件中。
  • 数据清洗与预处理
    • 提供了强大的数据清洗功能,如处理缺失值(用填充、删除等方法)、去除重复数据、数据类型转换等。例如,可以使用 df.dropna() 删除缺失值,使用 df.fillna() 填充缺失值。
  • 数据筛选与排序
    • 可以根据条件筛选数据,例如选择某列大于某个值的行,也可以按某列或多列对数据进行排序。例如,df[df['age'] > 30] 可以筛选出年龄大于 30 的数据。
  • 数据分组与聚合
    • 使用 groupby() 方法可以对数据进行分组,然后对每个分组应用聚合函数(如求和、平均值、最大值等)。例如,可以对销售数据按地区分组,然后计算每个地区的总销售额。
  • 数据合并与连接
    • 类似于 SQL 中的 JOIN 操作,可以将多个 DataFrame 按指定的键合并在一起。例如,可以将员工信息表和员工绩效表按员工 ID 合并。

1.3. Pandas 的应用场景

  • 数据分析:用于对数据进行统计分析,如计算描述性统计量(均值、中位数、标准差等)。
  • 数据可视化:虽然 Pandas 本身不是专门的可视化工具,但它可以与 Matplotlib、Seaborn 等可视化库结合,方便地生成图表。
  • 机器学习数据准备:在机器学习项目中,Pandas 常用于数据预处理,如特征工程、数据标准化等,为模型训练提供干净的数据。

二、Series()函数

2.1 创建Series对象的方式

  • 1、直接创建Series空对象
  • 2、使用ndarray创建Series对象
  • 3、用字典创建Series对象

案例一:创建Series空对象

import pandas as pds = pd.Series()
print (s)

Series([], dtype: object)

案例二:使用ndarray创建Series对象

import pandas as pd
import numpy as nparr = np.array([1,2,3,4,5])
s = pd.Series(arr)
print(s)

0 1
1 2
2 3
3 4
4 5
dtype: int32

案例三:用字典创建Series对象

import pandas as pd
import numpy as npdata = {"name": ["John", "Anna", "Peter", "Linda"]}
s = pd.Series(data)
print(s)

name [John, Anna, Peter, Linda]
dtype: object

2.2 访问Series对象的数据

import pandas as pd
import numpy as npdata = {"name": ["John", "Anna", "Peter", "Linda"],"age": [20, 21, 19, 18]}
s = pd.Series(data)print(s["name"])
print(s[1])

2.3 遍历Series对象

import pandas as pd
data = pd.Series([1,2,3,4,5], index=['a','b','c','d','e'])
for i in data:print(i)
# 1
# 2
# 3
# 4
# 5
# 使用item()函数
for i in data.items():print(i)
# ('a', 1)
# ('b', 2)
# ('c', 3)
# ('d', 4)
# ('e', 5)
# 使用values
for i in data.values:print(i)
# 1
# 2
# 3
# 4
# 5
# 使用index
for i in data.index:print(i)
# a
# b
# c
# d
# e

2.4 常用的方法

isnull() 和 notnull()
isnull() 和 notnull() 用于检测 Series、DataFrame 中的缺失值。所谓缺失值,顾名思义就是值不存在、丢失、缺少

  • isnull():如果为值不存在或者缺失,则返回 True
  • notnull():如果值不存在或者缺失,则返回 False

案例

import pandas as pd
df = pd.DataFrame({'A': [1, 2, 3], 'B': [None, 5, 6], 'C': [7, None, 9]})
print(df.isnull())
print(df.notnull())

运行结果:
在这里插入图片描述

三、DataFrame

DataFrame 一个表格型的数据结构,既有行标签(index),又有列标签(columns),它也被称异构数据表,所谓异构,指的是表格中每列的数据类型可以不同,比如可以是字符串、整型或者浮点型等。其结构图示意图,如下所示:
在这里插入图片描述
Dataframe和Series的关系:

在 Pandas 中,DataFrame 的每一行或每一列都是一个 Series

DataFrame 是一个二维表格,可以看作是由多个 Series 组成的。

如何区分行和列的 Series

列的 Series

  • 标签是行索引。
  • 值是该列的所有行数据。

行的Series:

  • 标签是列名。
  • 值是该行的所有列数据。

3.1 创建 DataFrame 对象

创建 DataFrame 对象的方式:

  • 列表
  • 字典
  • Series
  • Numpy ndarrays
  • 另一个 DataFrame

3.1.1 创建 DataFrame 空对象

import pandas as pd# 创建空DataFrame 对象
df = pd.DataFrame()
print(df)

3.1.2 列表嵌套字典创建 DataFrame 对象

如果缺失元素,则用NaN代替缺失值

def list():data = [{'a': 1, 'b': 2}, {'a': 5, 'b': 10, 'c': 20}]print(pd.DataFrame(data))

运行上面这个函数,由于第0行缺少一个值,则用NaN代替

3.1.3 字典嵌套列表创建 DataFrame 对象

def zidian():data = {'a': [1, 2, 3], 'b': [4, 5, 6], 'c': [7, 8, 9]}print(pd.DataFrame(data))

运行结果如图:
在这里插入图片描述

3.1.4 Series 创建 DataFrame 对象

案例一

def seven():data = {'one': pd.Series([1, 2, 3], index=['a', 'b', 'c']),'two': pd.Series([1, 2, 3, 4], index=['a', 'b', 'c', 'd'])}result = pd.DataFrame(data=data)print(result)

运行结果:
在这里插入图片描述

案例二

def zidians():dic = {"nane": pd.Series([1, 2, 3],index=['a','b','c']), "age": pd.Series([4, 5, 6])}print(pd.DataFrame(dic))

运行结果:
在这里插入图片描述

3.2 列索引操作

DataFrame 可以使用列索(columns index)引来完成数据的选取、添加和删除操作

3.2.1选取数据

# 使用pd.Series()创建Series对象会将索引赋值给[0,1,2],所以打印为NaN
# 解决方式:使用pd.Series()创建Series对象时,将索引赋值给Series对象的name属性,即可解决
df = pd.DataFrame({"name":pd.Series(["张三","李四","王五"]), "age":np.arange(3)},index=["a","b","c"])#解决方法:"name":pd.Series(["张三","李四","王五"],index=["a","b","c")
print(df)
'''name  age
a  NaN    0
b  NaN    1
c  NaN    2
'''
df = pd.DataFrame({"name": ["张三", "李四", "王五"], "age": np.arange(3)}, index=["a", "b", "c"])
print(df)
'''name  age
a  张三    0
b  李四    1
c  王五    2
'''

3.2.2 添加数据

1、添加一个空列

data = {"A": [1, 2, 3],"B": [4, 5, 6],"C": [7, 8, 9]
}
df = pd.DataFrame(data)
df["D"] = None
print(df)

在这里插入图片描述

2、添加新列,直接赋值添加

df = pd.DataFrame({'name': ['Tom', 'Nick', 'John'], 'age': [20, 21, 19]})
df['city'] = ['Beijing', 'Shanghai', 'Guangzhou']
print(df)

在这里插入图片描述

3、通过assign方法添加新列

df = pd.DataFrame({'one': [1, 2, 3], 'two': [2, 4, 6]})
df1 = df.assign(three = df['one'] + df['two']).assign(four = [100,200,300])
print(df1)

在这里插入图片描述

4、在指定的位置插入新列

使用insert方法在指定位置插入新列,参数:

  • loc: 插入位置的列索引。
  • column: 新列的名称。
  • value: 要插入的 Series。
data = {"A": [1, 2, 3],"B": [4, 5, 6],"C": [7, 8, 9]
}
df = pd.DataFrame(data)
df.insert(loc=1,column="D",value=[10,20,30])
print(df)

在这里插入图片描述

3.2.3 修改数据

案例1:修改列的值

data = {"A": [1, 2, 3],"B": [4, 5, 6],"C": [7, 8, 9]
}
df = pd.DataFrame(data)
df["B"] = [666,777,888]
print(df)# 广播
df["C"] = 100
print(df)

在这里插入图片描述
案例2:修改列名

df = pd.DataFrame(np.arange(12).reshape(3,4),columns=['A','B','C','D'])
print(df)
#    A  B   C   D
# 0  0  1   2   3
# 1  4  5   6   7
# 2  8  9  10  11df.columns = ['a','b','c','d']
print(df)
#    a  b   c   d
# 0  0  1   2   3
# 1  4  5   6   7
# 2  8  9  10  11

案例3:使用 rename 方法修改列名(在案例二的基础上)

df1 = df.rename(columns={'a':'A','b':'B'})
print(df1)
#    A  B   c   d
# 0  0  1   2   3
# 1  4  5   6   7
# 2  8  9  10  11

案例4:使用astype()修改列的数据类型

# 修改数据类型 astype()
data = {'A':[1,2,3],'B':[4,5,6],'C':[7,8,9]
}df = pd.DataFrame(data)
print(df.dtypes)
df['A'] = df['A'].astype(float)
print(df.dtypes)

在这里插入图片描述

http://www.dtcms.com/wzjs/523291.html

相关文章:

  • cms进行网站开发宁波seo网络推广软件系统
  • 四川建设人才网官网证书查询厦门关键词优化企业
  • 网站搭建设计课程报告响应式网站模板的特点
  • 西安SEO网站建设北京seo方法
  • 吉安网站建设0796abc谷歌官网下载app
  • 南宁网站建设建站系统学营销app哪个更好
  • 泰兴市 建设安全监察网站seo关键词大搜
  • 南京专业做网站公司站外seo推广
  • 网站文章内容排版要求网络服务运营商
  • 网站欢迎页面flash关键词英文
  • 武汉专业手机网站建设如何自己做一个网址
  • 定制衣柜哪种板材最好长沙官网网站推广优化
  • 网站制作厦门公司淘宝培训
  • 那些是flash做的网站百度首页清爽版
  • 免费源码资源源码站入口杭州关键词优化外包
  • 用javascript做的网站b站是哪个网站
  • 织梦如何做网站留言功能河北网站建设推广
  • 福建两学一做网站重庆seo网络优化师
  • 网站开发情况兰州网站seo
  • 独立页面成网站通过如何创建自己的小程序
  • h5开网站开发教程it培训机构哪个好一点
  • 沈阳中小企业网站制作北京百度推广代运营
  • 画江湖网站开发文档关键词的优化方案
  • 建设软件资源网站seo站长网怎么下载
  • 响应式网站设计原理sem工作内容
  • 淮南做网站的公司销售网站有哪些
  • 上海市住房和城乡建设厅官方网站网络优化的工作内容
  • 别人帮我做的网站没用要交费用吗黄金网站软件app大全下载
  • 做手机网站一般要多少钱企业管理培训课程视频
  • 兰州网站开发在哪里网页设计页面