使用 Python 处理 CSV 文件:替换协议类型并删除列

本代码使用 Python Pandas 库,实现将 CSV 文件中 'proto' 列的 TCP、UDP、ARP、OSPF 分别替换为 0、1、2、3,并删除 'id' 和 'label' 列,最后将处理后的数据保存到新的 CSV 文件。

import pandas as pd

# 读取原始csv文件
df = pd.read_csv('原始文件.csv')

# 将'proto'列的值进行映射
proto_mapping = {'tcp': 0, 'udp': 1, 'arp': 2, 'ospf': 3}
df['proto'] = df['proto'].map(proto_mapping)

# 删除'id'和'label'列
df = df.drop(['id', 'label'], axis=1)

# 保存至新的csv文件
df.to_csv('新文件.csv', index=False)

代码解释:

  1. 导入 Pandas 库: import pandas as pd
  2. 读取 CSV 文件: df = pd.read_csv('原始文件.csv'),使用 pd.read_csv() 函数读取 CSV 文件,并将数据存储到名为 df 的 DataFrame 中。
  3. 创建协议映射: proto_mapping = {'tcp': 0, 'udp': 1, 'arp': 2, 'ospf': 3},定义一个字典 proto_mapping 来存储协议名称和对应数字的映射关系。
  4. 替换 'proto' 列的值: df['proto'] = df['proto'].map(proto_mapping),使用 map() 函数将 proto_mapping 应用于 'proto' 列,将对应协议名称替换为数字。
  5. 删除 'id' 和 'label' 列: df = df.drop(['id', 'label'], axis=1),使用 drop() 函数删除 'id' 和 'label' 列。
  6. 保存处理后的数据: df.to_csv('新文件.csv', index=False),使用 to_csv() 函数将处理后的数据保存到名为 '新文件.csv' 的 CSV 文件中,并使用 index=False 参数忽略索引列。

注意:

  • 将代码中的 '原始文件.csv' 和 '新文件.csv' 替换为你的实际文件名。
  • 确保 'proto' 列中包含的协议名称与 proto_mapping 中定义的名称一致。
Python CSV 数据处理:替换协议类型并删除指定列

原文地址: https://www.cveoy.top/t/topic/i2nn 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录