使用 Panda 更新行和列涉及到数据框架的修改。Pandas 将数据表存储在 DataFrame 中,每行指定索引,每列则有一个唯一的列名。要使用 Python Pandas 更新行和列,应该使用以下步骤:
- 导入 Pandas 库,并创建 DataFrame。
- 使用 loc[] 或 iloc[] 访问 DataFrame 中的行和列。
- 更新 DataFrame 中的指定行和列。
- 保存 DataFrame。
下面是更详细的说明:
- 导入 Pandas 库,并创建 DataFrame。
在开始之前,首先应该导入 pandas 库并创建一个 DataFrame。可以使用以下代码来创建一个简单的 DataFrame。
import pandas as pd
# 创建一个包含学生信息(姓名,年龄和性别)的DataFrame
students = pd.DataFrame({'Name': ['Alice', 'Bob', 'Charlie'],
'Age': [20, 21, 19],
'Gender': ['F', 'M', 'M']})
运行此代码,将创建一个名为 “students” 的 DataFrame。它包含三个学生的姓名,年龄和性别数据。
- 使用 loc[] 或 iloc[] 访问 DataFrame 中的行和列。
要更新特定的行和列,必须首先访问它们。可以使用 loc[] 或 iloc[] 方法来访问它们。以下是一些示例:
# 使用 loc[] 方法根据标签值选择特定的行和列
students.loc[0,'Age'] # 返回第1行和 Age 列的值
# 使用 iloc[] 方法根据整数位置选择特定的行和列
students.iloc[0,1] # 返回第1行和第2列的值
以上示例中,loc[] 方法使用标签值来选择行和列,而 iloc[] 方法使用整数位置来选择行和列。
- 更新 DataFrame 中的指定行和列。
有了特定的行和列访问后,需要使用.loc[] 方法和分配运算符”=”来更新 DataFrame 中的值。以下是一个例子,说明如何更新 DataFrame 中第一个学生的年龄。
# 将第1行,Age 列的值更新为 22
students.loc[0,'Age'] = 22
以上代码将 DataFrame 中第一个学生的年龄更新为 22。
- 保存 DataFrame。
一旦完成对 DataFrame 的修改,最后要把它保存到磁盘上以备后续使用。可以使用以下代码将 DataFrame 保存为 CSV 文件。
students.to_csv('students.csv', index=False)
以上代码将 DataFrame 存储为名为 “students.csv” 的 CSV 文件,不包含行索引(index=False)。
示例1:
假设有一个包含员工姓名、部门和薪水的 DataFrame,现在需要更新某个员工的薪水,并将修改结果保存到新的 CSV 文件中。
import pandas as pd
# 创建一个包含员工姓名、部门和薪水的 DataFrame
employees = pd.DataFrame({'Name': ['Alice', 'Bob', 'Charlie'],
'Department': ['HR', 'Engineering', 'Marketing'],
'Salary': [50000, 80000, 60000]})
# 使用 loc[] 方法选择 Bob 的薪水并更新它
employees.loc[1,'Salary'] = 75000
# 将修改后的 DataFrame 保存为新的 CSV 文件
employees.to_csv('updated_employees.csv', index=False)
运行此代码后,将生成名为 “updated_employees.csv” 的 CSV 文件,其中包含更新后的薪水信息。
示例2:
现在假设有一个包含姓名、年龄和电子邮件的 DataFrame,现在需要将所有人的年龄加 1。
import pandas as pd
# 创建一个包含姓名、年龄和电子邮件的DataFrame
contacts = pd.DataFrame({'Name': ['Alice', 'Bob', 'Charlie'],
'Age': [20, 21, 19],
'Email': ['alice@example.com', 'bob@example.com', 'charlie@example.com']})
# 将所有人的年龄加 1
contacts['Age'] = contacts['Age'] + 1
# 将修改后的 DataFrame 保存为新的 CSV 文件
contacts.to_csv('updated_contacts.csv', index=False)
运行此代码后,将生成名为 “updated_contacts.csv” 的 CSV 文件,其中所有人的年龄都加了 1。