📜  pandas 数据框行名 - Python (1)

📅  最后修改于: 2023-12-03 15:18:15.083000             🧑  作者: Mango

Pandas 数据框行名 - Python

简介

Pandas 是一个功能强大的数据分析库,提供了数据结构和数据分析工具,其中之一就是数据框(DataFrame)。数据框是一种二维表格数据结构,可以存储和处理具有不同数据类型的数据。在 Pandas 中,我们可以使用行名(index)来引用数据框中的行。

设置行名

在创建数据框时,默认情况下,行名是整数值,从0开始递增。但我们也可以通过设置行名来给每一行赋予一个具有意义的标识符。我们可以通过以下方法设置行名:

1. 使用整数序列
import pandas as pd

df = pd.DataFrame(data=[[1, 2], [3, 4], [5, 6]], index=[10, 20, 30], columns=['A', 'B'])

在上述代码中,我们通过 index 参数设置了行名,分别为 10、20 和 30。

2. 使用标签序列
import pandas as pd

df = pd.DataFrame(data=[[1, 2], [3, 4], [5, 6]], index=['row1', 'row2', 'row3'], columns=['A', 'B'])

在上述代码中,我们通过 index 参数设置了行名,分别为 'row1'、'row2' 和 'row3'。

3. 使用辞典
import pandas as pd

data = {'A': [1, 3, 5], 'B': [2, 4, 6]}
df = pd.DataFrame(data)
df.index = ['row1', 'row2', 'row3']

在上述代码中,我们先通过字典创建了数据框,然后通过 index 属性设置了行名。

引用行名

我们可以使用行名来引用数据框中的特定行。以下是几种使用行名的方式:

1. 使用 loc 属性
import pandas as pd

df = pd.DataFrame(data=[[1, 2], [3, 4], [5, 6]], index=[10, 20, 30], columns=['A', 'B'])
print(df.loc[10])

输出结果为:

A    1
B    2
Name: 10, dtype: int64
2. 使用 iloc 属性
import pandas as pd

df = pd.DataFrame(data=[[1, 2], [3, 4], [5, 6]], index=[10, 20, 30], columns=['A', 'B'])
print(df.iloc[0])

输出结果为:

A    1
B    2
Name: 10, dtype: int64
3. 使用行名和列名
import pandas as pd

df = pd.DataFrame(data=[[1, 2], [3, 4], [5, 6]], index=[10, 20, 30], columns=['A', 'B'])
print(df.at[10, 'A'])

输出结果为:

1
修改行名

我们也可以对已存在的行名进行修改。以下是修改行名的方法:

1. 使用 rename 方法
import pandas as pd

df = pd.DataFrame(data=[[1, 2], [3, 4], [5, 6]], index=[10, 20, 30], columns=['A', 'B'])
df = df.rename(index={10: 'row1', 20: 'row2', 30: 'row3'})

在上述代码中,我们通过 rename 方法,将行名 10、20 和 30 分别改为 'row1'、'row2' 和 'row3'。

2. 直接修改 index 属性
import pandas as pd

df = pd.DataFrame(data=[[1, 2], [3, 4], [5, 6]], index=[10, 20, 30], columns=['A', 'B'])
df.index = ['row1', 'row2', 'row3']

在上述代码中,我们直接修改了 index 属性,将行名改为 'row1'、'row2' 和 'row3'。

删除行名

如果我们想删除数据框的行名,可以使用以下方法:

1. 使用 rename 方法
import pandas as pd

df = pd.DataFrame(data=[[1, 2], [3, 4], [5, 6]], index=[10, 20, 30], columns=['A', 'B'])
df = df.rename(index=str)

在上述代码中,我们通过将 index 参数设置为 str,将行名转换为整数序列。

2. 直接修改 index 属性
import pandas as pd

df = pd.DataFrame(data=[[1, 2], [3, 4], [5, 6]], index=[10, 20, 30], columns=['A', 'B'])
df.index = list(range(len(df)))

在上述代码中,我们直接修改了 index 属性,将行名改为整数序列。

总结

通过设置行名,我们可以更方便地引用数据框中的特定行,并且可以为每一行赋予有意义的标识符。同时,我们也可以修改和删除行名,以满足不同的需求。希望本文对你理解 Pandas 中数据框行名的使用有所帮助。

参考资料: