📅  最后修改于: 2023-12-03 15:37:54.582000             🧑  作者: Mango
Pandas 是一个强大的数据分析库,提供了许多选择操作。本文将介绍如何从 Pandas DataFrame 中选择行。
loc 方法基于行标签和列标签选择行。它还可以选择特定的列。以下是一个例子:
import pandas as pd
data = {'name': ['Bob', 'Jim', 'Alice', 'Susan'],
'age': [25, 35, 42, 28],
'gender': ['M', 'M', 'F', 'F']}
df = pd.DataFrame(data)
# 使用 loc 方法选择第一行
print(df.loc[0])
# 使用 loc 方法选择第一行和第二行,并只选择 'name' 和 'age' 两列
print(df.loc[[0,1], ['name', 'age']])
输出:
name Bob
age 25
gender M
Name: 0, dtype: object
name age
0 Bob 25
1 Jim 35
iloc 方法基于行索引和列索引选择行。以下是一个例子:
import pandas as pd
data = {'name': ['Bob', 'Jim', 'Alice', 'Susan'],
'age': [25, 35, 42, 28],
'gender': ['M', 'M', 'F', 'F']}
df = pd.DataFrame(data)
# 使用 iloc 方法选择第一行
print(df.iloc[0])
# 使用 iloc 方法选择第一行和第二行,并只选择第一列和第二列
print(df.iloc[[0,1], [0,1]])
输出:
name Bob
age 25
gender M
Name: 0, dtype: object
name age
0 Bob 25
1 Jim 35
可以使用条件选择行,返回满足条件的所有行。以下是一个例子:
import pandas as pd
data = {'name': ['Bob', 'Jim', 'Alice', 'Susan'],
'age': [25, 35, 42, 28],
'gender': ['M', 'M', 'F', 'F']}
df = pd.DataFrame(data)
# 使用条件选择行,返回年龄大于 30 的所有行
print(df[df['age']>30])
输出:
name age gender
1 Jim 35 M
2 Alice 42 F
可以使用 query 方法选择行。它接受一个字符串作为参数,表示要选择的行所满足的条件。以下是一个例子:
import pandas as pd
data = {'name': ['Bob', 'Jim', 'Alice', 'Susan'],
'age': [25, 35, 42, 28],
'gender': ['M', 'M', 'F', 'F']}
df = pd.DataFrame(data)
# 使用 query 方法选择行,返回年龄大于 30 的所有行
print(df.query('age>30'))
输出:
name age gender
1 Jim 35 M
2 Alice 42 F
以上是从 Pandas DataFrame 中选择行的方法。除了上述方法,还有其他选择行的方法,感兴趣的读者可以查看 Pandas 的文档。