繁体   English   中英

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

[英]How do I remove square brackets for all the values in a column?

我的 pandas 数据集中有一列名为关键字。 该列的值如下所示:

[jdhdhsn, cultuere, jdhdy]

我希望我的 output 是

jdhdhsn, cultuere, jdhdy

尝试这个

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

您的 dataframe 的列似乎是一个列表

列表用括号格式化,并且该列表的repr () 的每个元素

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

df['column_name'].str让我们使用列中的每个元素并在它们上应用 str function。 就像', '.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 ,因此此示例不需要。

尝试这个

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM