Есть ли какой-нибудь способ отобразить список, разделенный запятыми, по вертикали в одной ячейке с помощью python?

#python #pandas #dataframe #csv

#python #pandas #dataframe #csv

Вопрос:

У меня есть список в одном из столбцов, разделенных запятой, и я хочу отобразить его вертикально внутри этой ячейки, чтобы улучшить читаемость.

В качестве примера —

                ID      VALUE
               2  ['(39,"nmo","omg",889)','(40,"jjj","kkk",880)']
               3  ['(41,"nmo","omg",889)','(42,"jjj","kkk",880)']
               
  

Как я хочу его отобразить:

                              ID       VALUE
                             2     39 nmo omg  889
                                   40 jjj kkk  880

                             3     41 nmo omg  889
                                   42 jjj kkk  880
  

Спасибо.

Комментарии:

1. пожалуйста, опубликуйте свой фрейм данных с именами столбцов и минимум 2 строками

2. @pyd- извините за это, сделано

Ответ №1:

 df = df.set_index("ID")
df["VALUE"] = df["VALUE"].apply(
              lambda x: [" ".join(map(str, eval(i))) for i in eval(x)]
              )

df = df.explode("VALUE")

print(df)

ID  VALUE
    2     39 nmo omg 889
            40 jjj kkk 880
    3     41 nmo omg 889
          42 jjj kkk 880
  

Комментарии:

1. Спасибо за ответ, но я хочу отобразить ID 2 и 3 только один раз, и я хочу, чтобы оба значения были в одной ячейке

2. Удалите resetindex и посмотрите