在 pandas 中将列表中的单个字符串转换为同一列表中的多个字符串
Convert a single string inside list into multiple string inside that same list in pandas
我有一个数据框,其中包含一个标签为
的列
tags
------------
['tag1' 'tag2']
['tag1']
['tag5' 'tag3' 'tag6']
如何获取以下格式的dataframe?
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'"]
方法 2 这对我也不起作用。
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}')
我有一个数据框,其中包含一个标签为
的列tags
------------
['tag1' 'tag2']
['tag1']
['tag5' 'tag3' 'tag6']
如何获取以下格式的dataframe?
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'"]
方法 2 这对我也不起作用。
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}')