2024-05-23 18:22:04 发布
网友
我将csv加载到熊猫数据框中。其中一列包含以分号分隔的单词列表,如
海滩假期;;空间充足;水池
我想把它变成一个数组或集合,比如 [“海滩度假”、“空间充足”、“游泳池”]
或者,可以创建一个从原始列派生的新列
谢谢大家!
建议的解决方案,尤其是如果每个字符串中的;分隔符数量相同,是创建一个object数据类型系列的数据帧,每个元素都是一个字符串:
;
object
df = pd.DataFrame({'A': ['Beach holiday;Plenty of space;Pool', 'Mountain holiday;Plenty of grey;Ice']}) df = df['A'].str.split(';', expand=True) print(df) 0 1 2 0 Beach holiday Plenty of space Pool 1 Mountain holiday Plenty of grey Ice
创建一系列列表,替代方案是不推荐的;它包含一层嵌套的指针
如果希望标题位于列表中,则可以执行此操作
list(df.columns.values)
或
df[col_name].tolist()
另外,请检查此答案here
您可以选择converters
converters
TESTDATA = StringIO(""" A,B 1,Beach holiday;Plenty of space;Pool 1,Beach holiday;Plenty of space;Pool """) df = pd.read_csv(TESTDATA ,converters={'B':lambda x : x.split(';')}) df Out[147]: A B 0 1 [Beach holiday, Plenty of space, Pool] 1 1 [Beach holiday, Plenty of space, Pool]
建议的解决方案,尤其是如果每个字符串中的
;
分隔符数量相同,是创建一个object
数据类型系列的数据帧,每个元素都是一个字符串:创建一系列列表,替代方案是不推荐的;它包含一层嵌套的指针
如果希望标题位于列表中,则可以执行此操作
或
另外,请检查此答案here
您可以选择
converters
相关问题 更多 >
编程相关推荐