#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 и посмотрите