Python中Pandas库提供了DataFrame数据类型,它类似于Excel中的一个二维数据表,可以用来表示和处理各种类型的数据。对于DataFrame,常用的操作包括行列选择和切片操作。接下来我将为大家详细介绍Python Pandas DataFrame行列选择、切片操作方法的完整攻略。
DataFrame行列选择
列选择
要从DataFrame中选择一列数据,我们可以使用类似于字典下标的方式df['col_name']
来实现。如下示例:
import pandas as pd
df = pd.DataFrame({'name':['Alice', 'Bob', 'Charlie'], 'age':[25, 30, 35]})
print(df['name'])
输出结果:
0 Alice
1 Bob
2 Charlie
Name: name, dtype: object
行选择
要从DataFrame中选择一行或多行数据,我们可以使用.loc
或.iloc
方法。
以.loc
方法为例,它接收的参数为一个表示行的列表,其中行名应该在列名中具有唯一性,因为它们是用来访问数据的主要索引。如下示例:
import pandas as pd
df = pd.DataFrame({'name':['Alice', 'Bob', 'Charlie'], 'age':[25, 30, 35]})
print(df.loc[1])
输出结果:
name Bob
age 30
Name: 1, dtype: object
同时.loc
方法也可以用来选择多行数据,此时行名可以使用列表方式传递:
import pandas as pd
df = pd.DataFrame({'name':['Alice', 'Bob', 'Charlie'], 'age':[25, 30, 35]})
print(df.loc[[0, 2]])
输出结果:
name age
0 Alice 25
2 Charlie 35
行、列同时选择
除了通过行或列选择数据之外,也可以通过行、列同时选择数据,这就是DataFrame的切片操作,接下来我们会详细说明。
DataFrame切片操作
DataFrame切片操作通常使用.loc
或.iloc
方法,其中.loc
表示基于行名称和列名称的切片标识符,而.iloc
表示基于行索引和列索引的切片标识符。
下面是使用.loc
和.iloc
方法进行切片的一些示例。
选择行和列
以.loc
方法为例,可以使用以下方式选择行和列:
import pandas as pd
df = pd.DataFrame({'name':['Alice', 'Bob', 'Charlie'], 'age':[25, 30, 35], 'gender':['F', 'M', 'M']})
print(df.loc[:, ['name', 'age']])
其中,:
表示选择所有行,['name', 'age']
表示选择列名称为'name'
和'age'
的列。输出结果如下:
name age
0 Alice 25
1 Bob 30
2 Charlie 35
选择行的范围
我们可以使用:
来选择一定范围内的行。如下示例:
import pandas as pd
df = pd.DataFrame({'name':['Alice', 'Bob', 'Charlie'], 'age':[25, 30, 35], 'gender':['F', 'M', 'M']})
print(df.loc[0:1, :])
其中0:1
表示选择0至1行,:
表示选择所有列。输出结果:
name age gender
0 Alice 25 F
1 Bob 30 M
选择列的范围
我们可以使用:
来选择一定范围内的列。如下示例:
import pandas as pd
df = pd.DataFrame({'name':['Alice', 'Bob', 'Charlie'], 'age':[25, 30, 35], 'gender':['F', 'M', 'M']})
print(df.loc[:, 'name':'age'])
其中'name':'age'
表示选择列名称从'name'
到'age'
的所有列。输出结果:
name age
0 Alice 25
1 Bob 30
2 Charlie 35
以上就是Python Pandas DataFrame行列选择和切片操作的完整攻略,希望能帮助大家更好地使用DataFrame进行数据处理。