📜  如果两列值不匹配,则删除 df 行 - Python (1)

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

如果两列值不匹配,则删除 df 行 - Python

在数据处理中,经常会遇到需要删除数据集中某些行的情况,比如当两列的值不匹配时,需要删除这些行。

在 Python 中,我们可以使用 Pandas 库来轻松实现这个功能。具体的步骤如下:

  1. 导入 Pandas 库和数据集
import pandas as pd

# 导入数据集
df = pd.read_csv("data.csv")
  1. 创建一个新的 DataFrame,存储所有需要保留的行
# 创建一个新的 DataFrame,存储所有需要保留的行
new_df = pd.DataFrame(columns=df.columns)

# 遍历数据集的每一行
for index, row in df.iterrows():

    # 如果两列的值匹配,则将该行添加到新的 DataFrame 中
    if row['col1'] == row['col2']:
        new_df = new_df.append(row, ignore_index=True)
  1. 删除原始 DataFrame,并将新的 DataFrame 重命名为原始 DataFrame
# 删除原始 DataFrame
del df

# 将新的 DataFrame 重命名为原始 DataFrame
df = new_df

至此,我们已经成功实现了删除不匹配行的功能。完整的代码如下:

import pandas as pd

# 导入数据集
df = pd.read_csv("data.csv")

# 创建一个新的 DataFrame,存储所有需要保留的行
new_df = pd.DataFrame(columns=df.columns)

# 遍历数据集的每一行
for index, row in df.iterrows():

    # 如果两列的值匹配,则将该行添加到新的 DataFrame 中
    if row['col1'] == row['col2']:
        new_df = new_df.append(row, ignore_index=True)

# 删除原始 DataFrame
del df

# 将新的 DataFrame 重命名为原始 DataFrame
df = new_df

以上就是 Python 中删除不匹配行的方法。使用 Pandas 库可以使代码更简洁,同时还能处理大型数据集。