首页 > 解决方案 > Python将两端带括号的列表转换为普通列表

问题描述

我的数据框有很多列表。当尝试绘制它们时,我发现每个两端都有一个括号。如何删除它并将它们转换为普通字符串。

我的代码:

df = 
        xdat             ydat
0   [0.5,2.2,3.4]   [4.5,9.2,1.4] 
1   [2.5,3.2,3.6]   [7.5,6.2,4.4]
2   [4.5,2.9,3.7]   [8.5,3.2,8.4]

for i,r in df.iterrows():
    print(type(r['xdat'])
    #plt.plot(r['xdat'],r['ydat'])
#plt.show()

目前的输出:

<class 'str'>
<class 'str'>
<class 'str'>

当我尝试绘制它们时,我发现每个列表的两端都有括号,如下所示。但是,原始数据框的两端没有括号。

'[0.5,2.2,3.4]'

那么,如何删除在列表两端看到的不需要的括号呢?

标签: pythonlistdataframematplotlib

解决方案


如果您的所有列表都是平坦的,您可能会这样做:

x = '[0.5,2.2,3.4]'
y = x.strip('[]')
print(y)  # 0.5,2.2,3.4

推荐阅读