跳到主要内容

Pandas 行操作

在数据处理中,行操作是非常常见的任务。Pandas提供了丰富的功能来帮助我们高效地处理数据行。本文将介绍如何使用Pandas进行行操作,包括行的选择、添加、删除和修改。

1. 选择行

选择行是数据处理中最基本的操作之一。Pandas提供了多种方法来选择行。

1.1 使用索引选择行

python
import pandas as pd

# 创建一个DataFrame
data = {'Name': ['Alice', 'Bob', 'Charlie'], 'Age': [25, 30, 35]}
df = pd.DataFrame(data)

# 选择第一行
row = df.iloc[0]
print(row)

输出:

Name    Alice
Age 25
Name: 0, dtype: object

1.2 使用条件选择行

python
# 选择年龄大于30的行
filtered_rows = df[df['Age'] > 30]
print(filtered_rows)

输出:

      Name  Age
2 Charlie 35

2. 添加行

在Pandas中,可以使用append()方法或loc索引来添加行。

2.1 使用append()方法

python
# 添加一行
new_row = {'Name': 'David', 'Age': 40}
df = df.append(new_row, ignore_index=True)
print(df)

输出:

      Name  Age
0 Alice 25
1 Bob 30
2 Charlie 35
3 David 40

2.2 使用loc索引

python
# 使用loc添加一行
df.loc[len(df)] = ['Eve', 45]
print(df)

输出:

      Name  Age
0 Alice 25
1 Bob 30
2 Charlie 35
3 David 40
4 Eve 45

3. 删除行

删除行可以使用drop()方法。

3.1 删除指定索引的行

python
# 删除索引为2的行
df = df.drop(2)
print(df)

输出:

    Name  Age
0 Alice 25
1 Bob 30
3 David 40
4 Eve 45

3.2 删除满足条件的行

python
# 删除年龄大于40的行
df = df[df['Age'] <= 40]
print(df)

输出:

    Name  Age
0 Alice 25
1 Bob 30
3 David 40

4. 修改行

修改行可以通过直接赋值或使用loc索引来实现。

4.1 直接赋值

python
# 修改第一行的年龄
df.at[0, 'Age'] = 26
print(df)

输出:

    Name  Age
0 Alice 26
1 Bob 30
3 David 40

4.2 使用loc索引

python
# 修改索引为1的行
df.loc[1] = ['Bob', 31]
print(df)

输出:

    Name  Age
0 Alice 26
1 Bob 31
3 David 40

5. 实际应用场景

假设你有一个包含学生信息的DataFrame,你需要筛选出年龄大于20的学生,并添加一个新学生。

python
# 创建学生DataFrame
students = pd.DataFrame({
'Name': ['Alice', 'Bob', 'Charlie'],
'Age': [18, 22, 19]
})

# 筛选年龄大于20的学生
filtered_students = students[students['Age'] > 20]

# 添加一个新学生
new_student = {'Name': 'David', 'Age': 21}
filtered_students = filtered_students.append(new_student, ignore_index=True)

print(filtered_students)

输出:

    Name  Age
0 Bob 22
1 David 21

6. 总结

本文介绍了如何使用Pandas进行行操作,包括选择、添加、删除和修改行。这些操作是数据处理中的基础,掌握它们将帮助你更高效地处理数据。

7. 附加资源与练习

  • 练习1:创建一个包含5行数据的DataFrame,尝试使用不同的方法选择、添加、删除和修改行。
  • 练习2:在实际项目中应用这些行操作,例如处理CSV文件中的数据。
提示

如果你对Pandas的行操作还有疑问,可以参考Pandas官方文档或相关教程进行深入学习。