📜  pandas 中至少有两列 - Python (1)

📅  最后修改于: 2023-12-03 14:45:03.221000             🧑  作者: Mango

Pandas 中至少有两列 - Python

如果你正在使用 Python 进行数据分析,那么你一定会接触到 pandas 这个库。pandas 是 Python 中一个重要的数据处理库,它提供了很多简便的数据结构和数据分析工具。在 pandas 中,最基本的数据结构是 DataFrame,它类似于关系型数据库中的表格。

在一个 DataFrame 中,通常会包含多个列,每一列代表数据中不同的特征。这里我们介绍一下 pandas 中至少有两列的基本操作。

创建包含两列的 DataFrame
import pandas as pd

data = {'name': ['Alice', 'Bob', 'Charlie', 'David'], 
        'age': [25, 30, 35, 40]}
df = pd.DataFrame(data)
print(df)

输出如下:

       name  age
0     Alice   25
1       Bob   30
2   Charlie   35
3     David   40

这里我们创建了一个包含两列的 DataFrame,一列是人的名字,一列是年龄。可以看出,DataFrame 是一个类似于表格的数据结构,每列都有自己的列名。上例中我们使用的是一个字典来创建 DataFrame。

选取某些列

假设我们只对名字感兴趣,那么我们可以只选取一列:

name = df['name']
print(name)

输出如下:

0       Alice
1         Bob
2     Charlie
3       David
Name: name, dtype: object

可以看出,name 变量是一个 Series 类型,它只包含名字这一列数据。如果我们想要同时选取多列,可以使用 loc 或 iloc 方法:

cols = df.loc[:, ['name', 'age']]
print(cols)

输出如下:

       name  age
0     Alice   25
1       Bob   30
2   Charlie   35
3     David   40

可以看出,我们同时选取了 name 和 age 两列数据。

修改一列数据

假设我们想把年龄增加 10 岁,那么可以按如下方式修改数据:

df['age'] = df['age'] + 10
print(df)

输出如下:

       name  age
0     Alice   35
1       Bob   40
2   Charlie   45
3     David   50

可以看出,我们成功将年龄数据都增加了 10 岁。

添加一列数据

现在我们想对每一个人添加一个性别属性,那么可以新建一个 sex 列,并填入相应的性别数据:

df['sex'] = ['f', 'm', 'm', 'm']
print(df)

输出如下:

       name  age sex
0     Alice   35   f
1       Bob   40   m
2   Charlie   45   m
3     David   50   m

可以看出,我们成功添加了一列 sex 数据。注意,这里我们直接将性别数据以列表的形式传入,pandas 会自动将其转换为 Series 类型。如果你的数据更复杂,可以考虑使用 DataFrame 或 Series 对象创建。

这里我们介绍了 pandas 中至少有两列的基本操作,包括创建 DataFrame、选取某些列、修改一列数据和添加一列数据。这些操作可以帮助你更方便地处理数据。