📜  用Pandas建立索引并选择数据(1)

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

用Pandas建立索引并选择数据

Pandas是Python中非常常用的数据处理库,在数据清洗、处理、分析方面都有着非常好的表现。为了更好地处理数据,我们需要掌握如何建立索引及选择数据。

建立索引

在Pandas中,我们可以使用set_index()方法为DataFrame设置索引。例如,我们有一个DataFrame如下:

import pandas as pd

df = pd.DataFrame({
    'name': ['Alice', 'Bob', 'Cathy'],
    'age': [25, 18, 32],
    'gender': ['F', 'M', 'F']
})

print(df)

输出结果为:

    name  age gender
0  Alice   25      F
1    Bob   18      M
2  Cathy   32      F

我们可以使用如下代码将name列设为索引:

df = df.set_index('name')

print(df)

输出结果为:

       age gender
name            
Alice   25      F
Bob     18      M
Cathy   32      F

这样,我们就成功将name列设为了DataFrame的索引。此时,name列并不会被当做普通的列来处理,而是会被当做索引来使用。我们可以通过df.index来查看当前DataFrame的索引。

选择数据

在Pandas中,我们可以使用loc[]iloc[]来选择数据。

loc[]

loc[]用于按照行标签和列标签来索引数据。我们可以使用单独的标签、标签的列表或者切片来选择数据。例如,我们可以使用如下代码选择Alice这一行数据:

print(df.loc['Alice'])

输出结果为:

age       25
gender     F
Name: Alice, dtype: object

我们也可以按照列名来选择数据,例如,选择age列和gender列:

print(df.loc[:, ['age', 'gender']])

输出结果为:

       age gender
name            
Alice   25      F
Bob     18      M
Cathy   32      F
iloc[]

iloc[]用于按照行的位置和列的位置来索引数据。我们可以使用整数、整数列表或者切片来选择数据。例如,我们可以使用如下代码选择第2行和第3行数据:

print(df.iloc[1:3])

输出结果为:

       age gender
name            
Bob     18      M
Cathy   32      F

我们也可以按照列的位置来选择数据,例如,选择第1列和第2列(从0开始计数):

print(df.iloc[:, [0, 1]])

输出结果为:

       age gender
name            
Alice   25      F
Bob     18      M
Cathy   32      F
总结

建立索引和选择数据是Pandas中非常常见的操作,掌握了这些技能,我们就可以更好地处理数据了。