我的pandas列中包含多个字符串值,我想将它们转换为一个列表,以便我可以对其进行计数
df.columnX
Row 1 ['A','B','A','C']
Row 2 ['A','C']
Row 3 ['D','A']
我想要输出
Tag Count
A 4
B 1
C 2
D 1
我正在尝试将其列出来,但双引号即将到来
df.columnX.values = ["'A','B',,,,,,,,,'A'"]
预先感谢
答案 0 :(得分:0)
我明白了
flatList = [item for sublist in list(df.ColumnX.map(ast.literal_eval)) for item in sublist]
dict((x,flatList.count(x)) for x in set(flatList))
答案 1 :(得分:0)
那呢?
df.explode('columnX').columnX.value_counts().to_frame()
请注意,您需要熊猫> 0.25.0才能工作。
如果您的列表实际上是字符串,则可以先将它们转换为列表(如@Jon Clements所建议):
import ast
df.columnX = df.columnX.map(ast.literal_eval)