微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

将列表中的单个字符串转换为熊猫中同一个列表中的多个字符串

如何解决将列表中的单个字符串转换为熊猫中同一个列表中的多个字符串

我有一个数据框,其中包含一个带有标签的列

tags
------------
['tag1' 'tag2']
['tag1']
['tag5' 'tag3' 'tag6']

如何获取以下格式的数据框?

    tags
    ------------
    ['tag1','tag2']
    ['tag1']
    ['tag5','tag3','tag6']

在查看单行时:

print(df['tags'][0][0])
>>> "'tag1' 'tag2'"
print(df['tags'][0][0][0]
>>> "'"

我尝试了以下方法

def Convert(string): 
    li = list(string.split(" ")) 
    return li 
str1 = Convert(df1['tags'][0][0])
print(str1)
>>> ["'tag1'","'tag2'"]

Method2 这对我也不起作用。

import ast
ast.literal_eval(df['tags'][0][0])
>>>'tag1tag2' 

问题 2 我想计算标签的总出现次数,但 df['tags'].value_counts() 不起作用。它要么将整个列表作为它们出现的计数,要么如果我修改列表,则它将采用字符计数。

解决方法

这是您要找的吗?

list1 = ["'tag1' 'tag2'"]
result = [w.strip("'") for w in list1[0].split(' ')]
print(f'converted\n{list1}\nto\n{result}')

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。