我经常对超过1500万行的数据帧执行pandas操作,我很乐意访问特定操作的进度指示器.
是否存在基于文本的pandas split-apply-combine操作的进度指示器?
例如,在以下情况中:
df_users.groupby(['userID', 'requestDate']).apply(feature_rollup)
where feature_rollup是一个涉及多少DF列的函数,并通过各种方法创建新的用户列.对于大型数据帧,这些操作可能需要一段时间,因此我想知道是否可以在iPython笔记本中使用基于文本的输出来更新我的进度.
到目前为止,我已经尝试了Python的规范循环进度指示器,但它们没有以任何有意义的方式与pandas交互.
我希望在pandas库/文档中我忽略了一些让人们知道split-apply-combine进度的东西.一个简单的实现可能会查看apply函数工作的数据帧子集的总数,并将进度报告为这些子集的已完成部分.
这可能是需要添加到库中的吗?
我的任务是将一些朋友或关注关系导入到一个简单的 Neo4j 图数据库中。我的输入数据是具有以下结构的 csv:
owner,friend,type
Bob,Charlie,friend
Alice,Chris,follower
在上面的例子中,查理是鲍勃的朋友,克里斯是爱丽丝的追随者。我想使用将这些批量导入到 neo4j 中,LOAD CSV但在导入过程中创建条件关系时遇到问题。导入代码类似于:
LOAD CSV WITH HEADERS FROM "file:./graph.csv" AS csvLine
WITH csvLine.owner AS owner,
     csvLine.friend AS friend,
     csvLine.type AS Type
MERGE (o:Person { name: owner })
MERGE (c:Person { name: friend })
MERGE (u)<-[:IS_FRIEND {type: Type}]-(c);
我宁愿有两种类型的关系IS_FRIEND和FOLLOWS。但是当我尝试像这样的条件语句时:
CASE WHEN Type == "friend" THEN MERGE (u)<-[:IS_FRIEND]-(c) ELSE (u)<-[:FOLLOWS]-(c);
我收到有关使用的语法错误 CASE
有没有办法在像这样从 csv 批量导入期间建立条件关系?