从具有列表作为列之一中的条目的csv文件创建数据帧

时间:2019-04-01 11:57:34

标签: python pandas

我有一个csv文件,看起来像这样-

id  genres
1   [{'id': 35, 'name': 'Comedy'}]
2   [{'id': 35, 'name': 'Comedy'}, {'id': 18, 'name': 'Drama'}, {'id': 10751, 'name': 'Family'}, {'id': 10749, 'name': 'Romance'}]
3   [1,2,3]
4   [{'id':31, 'name':'Comedy'}]

当我将csv导入为dataframe时,lists列中的genres将作为字符串加载。例如-"[{'id': 35, 'name': 'Comedy'}]"

如何在没有lists的情况下加载quotes

2 个答案:

答案 0 :(得分:2)

使用:

func renderer(_ renderer: SCNSceneRenderer, updateAtTime time: TimeInterval) {

    guard let anchors = sceneView.session.currentFrame?.anchors.compactMap({ $0 as? ARImageAnchor }), anchors.count > 0 else {
        return
    }

    let sortedAnchors = anchors.sorted { distanceToScreenCenter($0, renderer) < distanceToScreenCenter($1, renderer) }

    sortedAnchors.dropFirst(4).filter({ $0.isTracked }).forEach({
        self.sceneView.session.remove(anchor: $0)
    })

或者:

import ast, json

df['genres'] = df['genres'].apply(ast.literal_eval)

答案 1 :(得分:0)

还使用strip()+ split():

df['genres']= [x.strip("[]").split(',') for x in df['genres']]

df['genres']= df['genres'].apply(lambda x: x.strip("[]").split(','))