深入了解Pandas的数据类型
2023-12-23 23:28:09
大家好,Pandas是一个功能强大的数据处理和分析库,它提供了丰富的数据类型,使得数据操作更加灵活和高效。本文我们将深入了解Pandas的数据类型,包括Series和DataFrame。
1.Series
Series是Pandas中最基本的数据类型,它类似于一维数组或列向量。Series由两个数组组成,一个用于存储数据值,另一个用于存储索引。索引可以是整数、字符串或其他类型的值,它们用于标识数据值。
创建一个Series对象非常简单,只需传入一个数据列表和一个索引列表即可:
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对象的输出包括索引和对应的数据值。我们可以通过索引访问和操作数据值,例如:
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的例子:
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对象的输出是一个表格,每列由列名标识,每行由行索引标识。我们可以通过列名访问和操作数据,例如:
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
除了列名,我们还可以通过行索引访问和操作数据,例如:
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,我们可以轻松地进行数据的操作、筛选、切片和转换。?
文章来源:https://blog.csdn.net/csdn1561168266/article/details/135175914
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!