Pandas —— 数据结构

前文

数据清洗 —— Pandas 的简单使用方法

Pandas —— 数据读取

Series

Series 是一种类似于一维数组的对象,它由一组数据(不同数据类型)以及一组与之相关的数据标签(即索引)组成

仅有数据列表即可产生最简单的 Series

# author       :  Woo_home
# create_time  :  2020/7/18 11:33

import pandas as pd

s1 = pd.Series([1,'a',5.2,7])
print(s1)

输出:
在这里插入图片描述
在输出结果中,左侧为索引,右侧为数据

获取索引

# author       :  Woo_home
# create_time  :  2020/7/18 11:33

import pandas as pd

s1 = pd.Series([1,'a',5.2,7])
# 获取 Series 的索引
print(s1.index)

输出:
在这里插入图片描述

获取数据

# author       :  Woo_home
# create_time  :  2020/7/18 11:33

import pandas as pd

s1 = pd.Series([1,'a',5.2,7])
print(s1.values)

输出:
在这里插入图片描述

创建一个具有标签索引的 Series

使用 index 属性,可以指定索引名称

# author       :  Woo_home
# create_time  :  2020/7/18 11:33

import pandas as pd

s1 = pd.Series([1, 'a', 5.2, 7], index=['a', 'b', 'c', 'd'])
print(s1)

输出:
在这里插入图片描述

获取索引名称

# author       :  Woo_home
# create_time  :  2020/7/18 11:33

import pandas as pd

s1 = pd.Series([1, 'a', 5.2, 7], index=['a', 'b', 'c', 'd'])
print(s1.index)

输出:
在这里插入图片描述

使用 Python 字典创建 Series

# author       :  Woo_home
# create_time  :  2020/7/18 11:33

import pandas as pd

# 定义一个字典
data = {
    'id': 1,
    'name': 'Lisa',
    'age': 18
}

series_data = pd.Series(data)
print(series_data)

输出:
在这里插入图片描述

根据标签索引查询数据

比如我们想获取字典中某个键对应的值,那么可以这样做:

# author       :  Woo_home
# create_time  :  2020/7/18 11:33

import pandas as pd

# 定义一个字典
data = {
    'id': 1,
    'name': 'Lisa',
    'age': 18
}

series_data = pd.Series(data)
print(series_data['id'])    # 获取 id 对应的值
print(series_data['name'])  # 获取 name 对应的值

输出:
在这里插入图片描述


或者也可以这样

print(series_data[['id','name']])

输出:
在这里插入图片描述

DataFrame

DataFrame 是一个表格类型的数据结构

  • 每列可以是不同的值类型(数值、字符串、布尔值等)
  • 既有行索引 index,也有列索引 columns
  • 可以被看做由 Series 组成的字典
    在这里插入图片描述

根据多个字典序列创建 DataFrame

# author       :  Woo_home
# create_time  :  2020/7/18 11:33

import pandas as pd

# 定义一个字典
data = {
    'id': [1, 2, 3, 4, 5],
    'name': ['lisa', 'john', 'ling', 'sire', 'demo'],
    'age': [11, 12, 12, 15, 18]
}

series_data = pd.DataFrame(data)
print(series_data)

输出:
在这里插入图片描述


打印值的类型

print(series_data.dtypes)

输出:
在这里插入图片描述


打印列名

print(series_data.columns)

输出:
在这里插入图片描述


打印索引

print(series_data.index)

输出:
在这里插入图片描述

从 DataFrame 中查询出 Series

  • 如果只查询一行、一列,返回的是 pd.Series
  • 如果查询多行、多列,返回的是 pd.DataFrame

还是以这个字典为例

# 定义一个字典
data = {
    'id': [1, 2, 3, 4, 5],
    'name': ['lisa', 'john', 'ling', 'sire', 'demo'],
    'age': [11, 12, 12, 15, 18]
}

查询一列,结果是一个 pd.Series

# author       :  Woo_home
# create_time  :  2020/7/18 11:33

import pandas as pd

# 定义一个字典
data = {
    'id': [1, 2, 3, 4, 5],
    'name': ['lisa', 'john', 'ling', 'sire', 'demo'],
    'age': [11, 12, 12, 15, 18]
}

series_data = pd.DataFrame(data)
# 打印一列
print(series_data['name'])
print()
print(type(series_data['name']))

输出:
在这里插入图片描述
可以发现,输出确实是一个 Series 对象

查询多列,结果是一个 pd.DataFrame

# author       :  Woo_home
# create_time  :  2020/7/18 11:33

import pandas as pd

# 定义一个字典
data = {
    'id': [1, 2, 3, 4, 5],
    'name': ['lisa', 'john', 'ling', 'sire', 'demo'],
    'age': [11, 12, 12, 15, 18]
}

series_data = pd.DataFrame(data)
# 打印多列
print(series_data[['id', 'name']])
print()
print(type(series_data[['id', 'name']]))

输出:
在这里插入图片描述
从输出结果可以发现,当我们打印多列时,是一个 DataFrame

查询一行,结果是一个 pd.Series

# author       :  Woo_home
# create_time  :  2020/7/18 11:33

import pandas as pd

# 定义一个字典
data = {
    'id': [1, 2, 3, 4, 5],
    'name': ['lisa', 'john', 'ling', 'sire', 'demo'],
    'age': [11, 12, 12, 15, 18]
}

series_data = pd.DataFrame(data)
# 打印一行
print(series_data.loc[1])
print()
print(type(series_data.loc[1]))

输出:
在这里插入图片描述
从输出结果可以发现,当打印一行时,是一个 Series 对象

查询多行,结果是一个 DataFrame

# author       :  Woo_home
# create_time  :  2020/7/18 11:33

import pandas as pd

# 定义一个字典
data = {
    'id': [1, 2, 3, 4, 5],
    'name': ['lisa', 'john', 'ling', 'sire', 'demo'],
    'age': [11, 12, 12, 15, 18]
}

series_data = pd.DataFrame(data)
# 打印索引从 0 开始到最后的数据
print(series_data.loc[0:])
print()
print(type(series_data.loc[0:]))

输出:
在这里插入图片描述
从输出结果可以发现,当打印多行数据的时候,是一个 DataFrame

pandas是一个开源的Python数据分析库,提供了多种数据结构,其中包括DataFrame和Panel。DataFramepandas中最常用的数据结构之一,它是一个二维的数据结构,数据以行和列的表格方式排列,可以执行各种行列操作和算术运算。通过pandas的DataFrame构造函数,我们可以创建一个DataFrame对象,传入数据、索引、列名等参数来构建DataFrame对象。 另外,pandas还提供了Panel这个数据结构,它是一个三维的数据结构,可以看作是DataFrame的容器,可以存储多个DataFrame。通过pandas的Panel构造函数,我们可以创建一个空的Panel对象,也可以传入数据、items、major_axis、minor_axis等参数来构建一个具有数据的Panel对象。 对于DataFrame,我们可以指定索引和列名来创建一个具有特定结构的DataFrame。在创建DataFrame时,如果给定的索引和列名的长度与数据的维度不匹配,将会报错。例如,在给定的数据列表中,如果每个内层列表的长度与列名的长度不一致,将会报错。 综上所述,pandas提供了多种数据结构,包括DataFrame和Panel,它们可以用于对数据进行分析和操作。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [Pandas数据结构分析](https://blog.csdn.net/m0_58387972/article/details/123302776)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [Python3快速入门(十三)——Pandas数据结构](https://blog.csdn.net/cdqvkn73338/article/details/100959261)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值