假设我有一个pandas
Series
,像这样:三重嵌套字典理解?
import pandas as pd
s = pd.Series(["hello go home bye bye", "you can't always get", "what you waaaaaaant", "apple banana carrot munch 123"])
我想创建一个单个字符键,和它们的频率为值的字典。创建这些字典在过去的话一直是容易的collections.Counter
的帮助:
from collections import Counter
c = Counter(word for row in s for word in row.lower().split())
不过,我现在尝试存储单个字符时遇到三重嵌套字典推导的一些问题。这是我有:
c = Counter((letter for letter in word) for word for row in s for word in row.lower().split())
这给我一个语法错误。我怎样才能使一行中的以下for
循环的等价物?
d = {}
for row in s:
for word in row.lower().split():
for letter in word:
d[letter] += 1
你似乎有一个错字:'用于字行'我不应该有** ** –