Pandas数据结构详细说明及如何创建Series,DataFrame对象方法

  • Post category:Python

Pandas是一个开源的数据分析库,提供了许多数据结构和数据处理功能。在此处,我们将详细讲解Pandas的数据结构,并说明如何创建Series和DataFrame对象,并介绍一些常用方法。

Pandas数据结构

Pandas提供了两种主要的数据结构,即Series和DataFrame。它们都基于NumPy数组构建,但提供了更多的功能和灵活性。

Series

Series是一维数组,并带有标签(即索引)。可以使用如下方式创建Series:

import pandas as pd

# 从列表创建Series
data = [1, 2, 3, 4, 5]
index = ['a', 'b', 'c', 'd', 'e']
s = pd.Series(data, index=index)

# 从字典创建Series
data = {'a': 1, 'b': 2, 'c': 3}
s = pd.Series(data)

上面代码创建了两个Series。第一个从列表创建,第二个从字典创建,使用字典创建时,键会自动成为Series的索引。

Series对象提供了许多有用的方法,在这里介绍其中几个。

# 获取Series的值
s.values

# 获取Series的索引
s.index

# 根据索引获取Series的值
s['a']

# 根据索引切片获取Series的子集
s['a':'c']

DataFrame

DataFrame是二维表格,每列可以有不同的数据类型(数值、字符串、布尔值等),并带有行标签(即索引)和列标签。可以使用如下方式创建DataFrame:

# 从字典创建DataFrame
data = {'name': ['Bob', 'Charlie', 'David'],
        'age': [25, 30, 35]}
df = pd.DataFrame(data)

# 从列表创建DataFrame,指定列名和索引
data = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
index = ['a', 'b', 'c']
columns = ['A', 'B', 'C']
df = pd.DataFrame(data, index=index, columns=columns)

上面代码创建了两个DataFrame。第一个从字典创建,第二个从列表创建,并指定了行索引和列标签。

DataFrame对象也提供了许多有用的方法,在这里介绍其中几个。

# 获取DataFrame的数据(二维数组)
df.values

# 获取DataFrame的行索引(即行标签)
df.index

# 获取DataFrame的列标签
df.columns

# 根据列标签获取DataFrame的列
df['A']

# 根据行索引获取DataFrame的行
df.loc['a':'c']

创建Series和DataFrame对象

在上面,我们已经讲解了如何创建Series和DataFrame对象,这里提供一些更详细的示例。

创建Series

# 创建一个包含1-5的Series
s = pd.Series([1, 2, 3, 4, 5])

# 创建一个带有标签的Series
s = pd.Series([1, 2, 3, 4, 5], index=['a', 'b', 'c', 'd', 'e'])

上面代码创建了两个Series,一个不带标签,一个带有标签。

创建DataFrame

# 创建一个包含多个列表的DataFrame
data = {'name': ['Bob', 'Charlie', 'David'],
        'age': [25, 30, 35]}
df = pd.DataFrame(data)

# 创建一个从CSV文件中读取的DataFrame
df = pd.read_csv('data.csv')

# 创建一个从Excel文件中读取的DataFrame
df = pd.read_excel('data.xlsx')

上面代码创建了三个DataFrame,分别是从多个列表、CSV文件和Excel文件中读取的。

常用方法

在上面,我们已经讲解了许多常用的方法。这里再提供一些更详细的示例。

删除列

# 删除列
df = df.drop(columns=['age'])

上面代码删除了名为age的列。

筛选行

# 筛选出所有年龄大于30岁的人
df = df[df['age'] > 30]

上面代码筛选了出年龄大于30岁的行。

总结

在这篇文章中,我们详细讲解了Pandas的数据结构,并介绍了如何创建Series和DataFrame对象以及一些常用方法。Pandas提供了丰富的功能和灵活性,使得数据分析变得更加简单和高效。