深入了解Pandas的数据类型

大家好,Pandas是一个功能强大的数据处理和分析库,它提供了丰富的数据类型,使得数据操作更加灵活和高效。本文我们将深入了解Pandas的数据类型,包括Series和DataFrame。

1.Series

Series是Pandas中最基本的数据类型,它类似于一维数组或列向量。Series由两个数组组成,一个用于存储数据值,另一个用于存储索引。索引可以是整数、字符串或其他类型的值,它们用于标识数据值。

创建一个Series对象非常简单,只需传入一个数据列表和一个索引列表即可:

python 复制代码
import pandas as pd

data = [1, 2, 3, 4, 5]
index = ['a', 'b', 'c', 'd', 'e']

s = pd.Series(data, index)
print(s)

输出结果如下:

复制代码
a    1
b    2
c    3
d    4
e    5
dtype: int64

Series对象的输出包括索引和对应的数据值。我们可以通过索引访问和操作数据值,例如:

python 复制代码
print(s['c'])  # 输出 3
s['e'] = 10  # 修改数据值
print(s)

输出结果如下:

复制代码
3
a     1
b     2
c     3
d     4
e    10
dtype: int64

2.DataFrame

DataFrame是Pandas中最常用的数据类型,它类似于一个二维表格或电子表格。DataFrame由多个Series对象组成,每个Series对象代表一列数据。它具有行和列的索引,可以方便地进行数据的筛选、切片和操作。

创建一个DataFrame对象可以通过多种方式,比如从字典、列表、NumPy数组等创建。下面是一个从字典创建DataFrame的例子:

python 复制代码
import pandas as pd

data = {'Name': ['Alice', 'Bob', 'Charlie'],
        'Age': [25, 30, 35],
        'City': ['New York', 'London', 'Paris']}

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

输出结果如下:

复制代码
      Name  Age      City
0    Alice   25  New York
1      Bob   30    London
2  Charlie   35     Paris

DataFrame对象的输出是一个表格,每列由列名标识,每行由行索引标识。我们可以通过列名访问和操作数据,例如:

python 复制代码
print(df['Age'])  # 输出 Age 列的数据
df['Salary'] = [5000, 6000, 7000]  # 添加一列数据
print(df)

输出结果如下:

复制代码
0    25
1    30
2    35
Name: Age, dtype: int64

      Name  Age      City  Salary
0    Alice   25  New York    5000
1      Bob   30    London    6000
2  Charlie   35     Paris    7000

除了列名,我们还可以通过行索引访问和操作数据,例如:

python 复制代码
print(df.loc[1])  # 输出索引为 1 的行数据
df.loc[2, 'City'] = 'Berlin'  # 修改索引为 2 的行的 City 数据
print(df)

输出结果如下:

复制代码
Name        Bob
Age          30
City     London
Salary     6000
Name: 1, dtype: object

      Name  Age      City  Salary
0    Alice   25  New York    5000
1      Bob   30    London    6000
2  Charlie   35    Berlin    7000

Pandas提供了强大的数据类型,包括Series和DataFrame,使得数据处理和分析更加方便和高效。通过Series和DataFrame,我们可以轻松地进行数据的操作、筛选、切片和转换。

相关推荐
小陈工1 天前
Python Web开发入门(十七):Vue.js与Python后端集成——让前后端真正“握手言和“
开发语言·前端·javascript·数据库·vue.js·人工智能·python
墨染天姬1 天前
【AI】端侧AIBOX可以部署哪些智能体
人工智能
AI成长日志1 天前
【Agentic RL】1.1 什么是Agentic RL:从传统RL到智能体学习
人工智能·学习·算法
2501_948114241 天前
2026年大模型API聚合平台技术评测:企业级接入层的治理演进与星链4SAPI架构观察
大数据·人工智能·gpt·架构·claude
小小工匠1 天前
LLM - awesome-design-md 从 DESIGN.md 到“可对话的设计系统”:用纯文本驱动 AI 生成一致 UI 的新范式
人工智能·ui
黎阳之光1 天前
黎阳之光:视频孪生领跑者,铸就中国数字科技全球竞争力
大数据·人工智能·算法·安全·数字孪生
小超同学你好1 天前
面向 LLM 的程序设计 6:Tool Calling 的完整生命周期——从定义、决策、执行到观测回注
人工智能·语言模型
智星云算力1 天前
本地GPU与租用GPU混合部署:混合算力架构搭建指南
人工智能·架构·gpu算力·智星云·gpu租用
jinanwuhuaguo1 天前
截止到4月8日,OpenClaw 2026年4月更新深度解读剖析:从“能力回归”到“信任内建”的范式跃迁
android·开发语言·人工智能·深度学习·kotlin
xiaozhazha_1 天前
效率提升80%:2026年AI CRM与ERP深度集成的架构设计与实现
人工智能