如何删除列中所有值的方括号?

2024-04-29 00:50:37 发布

您现在位置:Python中文网/ 问答频道 /正文

我的数据集中有一个名为keywords的列。该列的值如下所示:

[jdhdhsn, cultuere, jdhdy]

我希望我的输出是

jdhdhsn, cultuere, jdhdy

Tags: 数据keywordsjdhdhsncultuerejdhdy
3条回答

试试这个

data = ["[jdhdhsn, cultuere, jdhdy]"]
df = pd.DataFrame(data, columns = ["keywords"])
new_df = df['keywords'].str[1:-1]
print(df)
print(new_df)

试试这个

keywords = [jdhdhsn, cultuere, jdhdy]
if(isinstance(keyword, list)):
    output = ','.join(keywords)
else:
    output = keywords[1:-1]

数据框的列似乎是一个列表

列表的格式为括号和该列表的repr()

Pandas内置了处理字符串的函数

df['column_name'].str让我们使用列中的每个元素,并对它们应用str函数。就像', '.join(['foo', 'bar', 'baz'])

因此df['column_name_str'] = df['column_name'].str.join(', ')将生成一个新的列,其格式与您所追求的相同

还可以使用.apply对列执行任意lambda函数,例如:

df['column_name'].apply(lambda row: ', '.join(row))

但是,由于pandas内置了.str,因此本例不需要这样做

相关问题 更多 >