读取数据并转换信息一次



我正在从CSV文件中导入大量数据(但我的怀疑可能适用于其他类型的pd.read_X(

当我读取该文件时,有一个名为comunication_channel的整数列,它使用表示几种通信类型的列表号。

我想将这样的列(或转换值(替换为表示该通道(电子邮件、推送等(的字符串。

这可能会让一些人感到困惑,比如SQL Join或if/else代码。

有简单的方法吗?

read_csv采用converters参数,使用该参数可以转换每列的输入值:

import pandas as pd
from collections import defaultdict 
# create default dict to host the integer->name mappings
channel_map = defaultdict(lambda: 'UNKNOWN', {1: 'Channel1', 2: 'Channel2', 3: 'Channel3'})
# specify a conversion routine for the column when importing
pd.read_csv(r"path/to/file.csv", converters={'column_name': lambda v: channel_map[v]})

最新更新