在python中将逗号分隔的数据拆分为列表

2024-09-30 04:37:31 发布

您现在位置:Python中文网/ 问答频道 /正文

我的数据帧df看起来像这样

Row_ID Codes
=============
1      A123,B456,C678
2      X359,C678,F23
3      J3,D24,J36,K994

我想把所有的代码都列在一个列表里

像这样的

['A123', 'B456', 'C678'],['X359', 'C678', 'F23'], ['J3', 'D24', 'J36', 'K994']

是我干的

# an empty list
CodeList = [] 
for i in df['Codes']: 
  CodeList.append(list(i)) 

但我得到的是这个

['A','1','2','3','B'....

我怎样才能按上面提到的正确方法做呢?你知道吗


Tags: 数据dfcodeslistrowa123j3b456
3条回答
import pandas as pd


data = {"Codes": ["A123, B456, C678", "X359, C678, F23", "J3, D24, J36, K994"]}
df = pd.DataFrame(data)

result = [a.split(", ") for a in df["Codes"]]
print(result)

输出

[['A123', 'B456', 'C678'], ['X359', 'C678', 'F23'], ['J3', 'D24', 'J36', 'K994']]

似乎这里的许多其他答案都是完全错误的。(编辑:目前都是)

此代码不起作用:

import pandas as pd

data = {'Codes': ['A123,B456,C678', 'X359,C678,F23', 'J3,D24,J36,K994']}
df = pd.DataFrame(data)

codes_list = df['Codes'].str.split(',').tolist()

codes_list看起来像:

[['A123', 'B456', 'C678'], ['X359', 'C678', 'F23'], ['J3', 'D24', 'J36', 'K994']]

请注意,此解决方案是惯用的,而应尽可能避免显式循环。你知道吗

尝试使用以下方法拆分:

CodeList.append(i.split(',')) 

相关问题 更多 >

    热门问题