【发布时间】:2016-06-13 19:52:42
【问题描述】:
我有一个 pandas 数据框列,看起来有点像:
Out[67]:
0 ["cheese", "milk...
1 ["yogurt", "cheese...
2 ["cheese", "cream"...
3 ["milk", "cheese"...
现在,最终我希望将其作为一个平面列表,但在尝试将其展平时,我注意到 pandas 将 ["cheese", "milk", "cream"] 视为 str 而不是 list
我将如何解决这个问题,所以我最终得到:
["cheese", "milk", "yogurt", "cheese", "cheese"...]
[编辑] 所以下面给出的答案似乎是:
s = pd.Series(["['cheese', 'milk']", "['yogurt', 'cheese']", "['cheese', 'cream']"])
s = s.str.strip("[]")
df = s.str.split(',', expand=True)
df = df.applymap(lambda x: x.replace("'", '').strip())
l = df.values.flatten()
print (l.tolist())
这很好,回答了问题,接受了答案,但我觉得它是一个相当不雅的解决方案。
【问题讨论】:
-
不,它不是重复的,因为列的
type是string而不是list