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

时间:2019-11-24 04:16:54

标签: 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'....

我该如何正确地进行上述操作?

5 个答案:

答案 0 :(得分:1)

尝试使用以下方法进行拆分:

bundle exec rails generate doorkeeper:install

答案 1 :(得分:1)

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']]

答案 2 :(得分:0)

from PIL import Image, ImageColor
import matplotlib.pyplot


im = Image.new('1', (1000, 1000)) # create the Image of size 1000x1000 pixels

for x in range(500):
    for y in range(100):
        im.putpixel((x, y), ImageColor.getcolor('white', '1')) # or whatever color you wish

matplotlib.pyplot.ion()
matplotlib.pyplot.imshow(im)
matplotlib.pyplot.show(block = True)
matplotlib.pyplot.pause(1)

for x in range(300):
    for y in range(100):
        im.putpixel((x, y), ImageColor.getcolor('black', '1')) # or whatever color you wish

matplotlib.pyplot.imshow(im)
matplotlib.pyplot.show(block = True)

输出:

import pandas as pd
import numpy as np

df = pd.DataFrame(np.random.randn(3, 2), columns=list('AB'))
print(df.head())
print(df.values.tolist())

答案 3 :(得分:0)

只需从行CodeList.append(list(i))中删除列表

CodeList = [] 
for i in df['Codes']: 
   CodeList.append(i.split(','))

enter image description here

答案 4 :(得分:0)

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

此代码确实有效:

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']]

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