Как мне добавить двойные кавычки к каждому элементу в столбце списка в фрейме данных pandas?

#python #pandas

#python #pandas

Вопрос:

У меня есть фрейм данных pandas df , который содержит столбец списка

 0         1
foo       [foo,bar]
bar       [bar,foo]
  

Какой эффективный способ добавить двойные кавычки к каждому элементу списка, чтобы сделать вывод:

 0         1
foo       ["foo","bar"]
bar       ["bar","foo"]
  

Пожалуйста, предположите, что существует более 2 строк

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

1. столбец 1 — это списки строк или просто строки?

2. список строк

Ответ №1:

Используйте понимание списка:

 df["1"] = [[f'"{j}"' for j in i] for i in df["1"]]

print (df)

                1
0  ["foo", "bar"]
1  ["bar", "foo"]
  

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

1. Это очень элегантное решение. Я бы всегда предпочел понимание списка другим методам.

Ответ №2:

Вы могли бы сделать,

 import pandas as pd

df = pd.DataFrame({0: ["foo","bar"], 1: ["bar", "foo"]})

df = '"'   df.astype(str)   '"'
  

Результат:

 0   1
0   "foo"   "bar"
1   "bar"   "foo"
  

Если вы хотите сделать это для определенного столбца, выполните:

 df[0] = '"'   df[0].astype(str)   '"'
  

Результат:

     0   1
0   "foo"   bar
1   "bar"   foo