我从动态字典对象动态创建了一个数据框。所有值都用方括号括起来。像 [1] 用于所有列和行。如何摆脱这些牙套? []
让我试着用下面的步骤来解释。
如何去掉方括号[]?
答案 0 :(得分:0)
考虑到您的值是字符串(不是列表),以下将起作用:
for i in df.columns:
df[i]=df[i].apply(lambda x: x[1:-1])
答案 1 :(得分:0)
这实际上取决于值是字符串还是实际列表。如果您的数据框将所有值都视为字符串而不是列表,那么您可以使用以下简单的方法:
数据帧示例:
> df
Patient Treatement
0 patient1 B012
1 [patient2] [B012]
2 [patient2] [B012]
3 [patient2] [B012]
4 [patient2] [B012]
替换整个数据帧中的 [] 刹车
> df.replace('\[|\]','',regex=True)
Patient Treatement
0 patient1 B012
1 patient2 B012
2 patient2 B012
3 patient2 B012
4 patient2 B012
但是,如果您的值是实际的列表条目,则可以使用 Pandas explode
https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.explode.html
另一种方法可能是使用 agg & join,但如果不知道数据帧的结构,就很难在这里提供帮助。
答案 2 :(得分:0)
问题不是很清楚,但如果每个单元格都包含一个列表,您可以尝试:
df = df.applymap(lambda x : x[0])