Python 如何向数据框中列表列中的每个元素添加双引号?

Python 如何向数据框中列表列中的每个元素添加双引号?,python,pandas,Python,Pandas,我有一个数据帧df,它包含一个列表列 0 1 foo [foo,bar] bar [bar,foo] 向每个列表元素添加双引号以生成输出的有效方法是: 0 1 foo ["foo","bar"] bar ["bar","foo"] 请假设有两行以上使用列表理解: df["1"] = [[f'"{j}&qu

我有一个数据帧
df
,它包含一个列表列

0         1
foo       [foo,bar]
bar       [bar,foo]
向每个列表元素添加双引号以生成输出的有效方法是:

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

请假设有两行以上

使用列表理解:

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

print (df)

                1
0  ["foo", "bar"]
1  ["bar", "foo"]
你可以

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"
    0   1
0   "foo"   bar
1   "bar"   foo
如果要对特定列执行此操作,请执行以下操作:

df[0] = '"' + df[0].astype(str) + '"'
结果:

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

第1列是字符串列表还是字符串列表?字符串列表这是一个非常优雅的解决方案。与其他方法相比,我更喜欢列表理解。