我有一个如下数据框:
Country Age Dept Card
India Adult Science A,B,C
India Adult Math B,C,D
India Adult Social E,D,C
构建上述DF的代码:
pd.DataFrame ({'Country' : ['INDIA','INDIA','INDIA'],
'Age' : ['Adult','Adult','Adult'],
'Dept' : ['Science','Math','Social'],
'Card' : ['A,B,C','B,C,D','E,D,C']})
我想从列“卡”的值中获取列表列表,如下所示:
[['A','B','C'], ['B','C','D'], ['E','D','C']]
我尝试了以下代码:
lis1=[]
for i in range(len(df)):
lis=[]
l=A.Card.iloc[i]
lis.append(l)
for i in range(0,len(df),len(df)):
lis1.append(lis)
我得到的输出如下:
[['A,B,C'], ['B,C,D'], ['E,D,C']]
如果您可以注意到,在我的输出中,我没有得到单个元素的括号。谁能帮助我获得所需的输出?
答案 0 :(得分:0)
这将起作用:
[list(a.split(',')) for a in df.Card.tolist()]
输出为:
[['A', 'B', 'C'], ['B', 'C', 'D'], ['E', 'D', 'C']]
答案 1 :(得分:0)
只需这样做
lis1=[]
for i in range(len(df)):
l=df.Card.iloc[i].split(',')
lis1.append(l)
lis1
输出:
[['A', 'B', 'C'], ['B', 'C', 'D'], ['E', 'D', 'C']]