python如何匹配CSV文件某一列数据,并根据匹配到的数据的值在后面添加新的一列内容

本文介绍了一种使用Python的Pandas库将CSV文件中特定列的值映射到另一列的方法,通过创建一个字典并利用map()函数实现了高效的数据转换。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

CSV数据格式如下所示:

clipboard.png

分类要求为:AAAI属于AI类,ICDM,SDM和KDD属于DM类,WWW属于NEW类

上图所示第一列为名称,如何根据第一列的名称把前面的类别名称输出到第三列,实际效果为:

clipboard.png

如上图所示,第一列为名称,第三列为对应的类别名称,请给出python的实现代码

答案对人有帮助,有参考价值0答案没帮助,是错误的答案,答非所问

可以用pandas里面的map映射字典。

In [1]: import pandas as pd

In [2]: df = pd.DataFrame({'A':['AAAI','ICDM','SDM','WWW','KDD'],
                           'B':[0.88, 0.41,0.22, 0.33, 0.35]})

In [3]: type_dict = {"AAAI":"AI","ICDM":"DM","SDM":"DM","KDD":"DM","WWW":"NEW"}

In [4]: df["C"] = df['A'].map(type_dict)

In [5]: df
Out[5]:
      A     B    C
0  AAAI  0.88   AI
1  ICDM  0.41   DM
2   SDM  0.22   DM
3   WWW  0.33  NEW
4   KDD  0.35   DM
### 如何根据一列数据将两个CSV文件关联起来 在Python中,可以利用Pandas库中的`merge()`函数来实现基于某一列的两份CSV文件之间的匹配和连接操作。以下是具体方法: #### 使用 `pd.merge()` 函数 `pd.merge()` 是一种强大的工具,用于通过指定的关键字段将不同的表格组合在一起。假设我们有两个CSV文件分别存储为 `file1.csv` 和 `file2.csv`,且希望依据某共同列(比如 `id` 列)将其合。 ```python import pandas as pd # 读取第一个 CSV 文件 df1 = pd.read_csv('file1.csv') # 读取第二个 CSV 文件 df2 = pd.read_csv('file2.csv') # 基于 'id' 列进行左连接 (left join),也可以选择其他类型的连接方式如 inner, outer 或 right merged_df = pd.merge(df1, df2, on='id', how='left') print(merged_df.head()) ``` 上述代码片段展示了如何加载两个CSV文档,通过共享键 `'id'` 实现它们的联合[^1]。这里使用的参数解释如下: - **on**: 指定用来合的公共列名称。 - **how**: 定义了要执行的联接类型;此例采用的是左侧联接 (`left`),意味着保留左边 DataFrame 的所有记录,而右边只附加那些能与之配对上的部分[^2]。 如果需要更复杂的条件或者不同命名但逻辑上相同的字段作为桥梁,则可以通过设置额外选项完成自定义映射关系构建[^3]。 对于非常大的CSV文件,在内存管理方面可能遇到挑战时,应考虑分块处理策略或其他优化措施以提高效率][^[^45]。 #### 注意事项 当面对超大规模的数据集时,常规的方法可能会因为硬件资源限制而导致性能下降甚至失败的情况发生。此时建议探索诸如Dask这样的分布式计算框架替代方案,它能够很好地支持大数据量场景下的相似需求解决途径。 ---
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值