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列是字符串列表还是字符串列表?字符串列表这是一个非常优雅的解决方案。与其他方法相比,我更喜欢列表理解。