熊猫:将数组列读取为列(字符串数组)

时间:2019-01-05 18:54:34

标签: python arrays pandas csv

我有一个数据集(csv格式),如下所示:

id,description_data

0, "['manage' 'musical' 'staffmanage' 'staff' 'music' 'coordinate' 'duties' 'musical' 'staff' 'manage' 'music' 'staff' 'direct' 'musical' 'staffAssign' 'manage' 'staff' 'tasks' 'areas' 'scoring' 'arranging' 'copying' 'music' 'vocal' 'coaching']"

当我将pandas命令pd.read_csv应用于数据集(包括此列,该列是字符串数组)时,返回的行如下所示:

"['manage' 'musical' 'staffmanage' 'staff' 'music' 'coordinate' 'duties'\n 'musical' 'staff' 'manage' 'music' 'staff' 'direct' 'musical'\n 'staffAssign' 'manage' 'staff' 'tasks' 'areas' 'scoring' 'arranging'\n 'copying' 'music' 'vocal' 'coaching']"

这显然是一个字符串。但是我将此值保存为字符串数组。 如何正确解析/从csv读取此内容?这是否可以通过熊猫实现,还是我必须为此编写自己的解析器?

更具体地说,我想要的是这个。

['manage', 'musical', 'staffmanage', 'staff', 'music', 'coordinate', 'duties', 'musical', ...'arranging', 'copying', 'music', 'vocal', 'coaching']

有没有简单的熊猫函数来实现这一目标?

2 个答案:

答案 0 :(得分:2)

解决了您的问题

(def my-map {0 "Goa" 1 "Delhi" 2 "Mumbai"})

答案 1 :(得分:1)

我只是使用一个简单的解析函数解决了它:

return inp[:-1][1:].replace("'", "").strip().split()

有点难看,但是可以用。.