深入了解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,我们可以轻松地进行数据的操作、筛选、切片和转换。

相关推荐
Godspeed Zhao7 分钟前
从零开始学AI25——无监督学习之层次聚类
学习·机器学习·聚类
Zelman94544 分钟前
第06章-交互与观察动作空间
人工智能
冬奇Lab1 小时前
开源项目第258期:Harness² —— Google Research 的「递归式 Agent Harness 优化」,模型权重不动,只改 Agent 的外壳
人工智能·开源
字节跳动视频云技术团队2 小时前
每两家头部手机厂商就有一家选它:火山引擎如何成为 AI 手机助手的“隐形底座”?
人工智能
泯泷3 小时前
像项目经理一样指挥 AI 团队:管理者模式
人工智能·llm·agent
京东云开发者3 小时前
双11囤Token火了:京东搜索量暴涨7倍,AI生产力成新刚需
人工智能
ahccqw3 小时前
OpenCV 车辆数量统计
人工智能·opencv·计算机视觉
人工智能AI技术3 小时前
LangGraph 本地 build 频频翻车,最终在服务器跑通流式对话
人工智能
Flynn Liang4 小时前
同一需求三套写法:用 Spring AI、LangChain4j、AgentScope Java 各实现一个带工具调用的 RAG 助手(实战对比)
java·人工智能·大模型·架构设计·spring ai·langchain4j·agentscope