首页 > 解决方案 > Pandas read_csv 导入具有多个值的列作为列表

问题描述

我有一个 .csv 文件,其中包含几列,其中一列包含多个值:

"column1";"column2";"column3";
some_string; 1 ; 1,2,3,4 ;

现在,我想使用 pandas read_csv 导入文件:

import pandas as pd
df = pd.read_csv('file.csv', sep=';')

这显然会导致多个值作为单个字符串对象导入的问题。有什么方法可以将这些值作为列表或数组导入,甚至可以在该单元格中调用单个值?那将非常有帮助!

先感谢您!

标签: pythonpython-3.xpandascsv

解决方案


您可以在加载数据后执行此操作,您需要一个lambda函数:

df['column3'] = df['column3'].apply(lambda x: str(x).split(","))

检查单元格的类型,这给出了列表:

type(df.iloc[0,2])

检查长度,这是4:

len(df.iloc[0,2])

在列表中选择一个元素:

df.iloc[0,2][0]

将列表元素转换为整数:

df['column3'] = df['column3'].apply(lambda x: list(map(int, x)))

检查类型:

type(df.iloc[0,2][0])

推荐阅读