当我写这篇文章时,我尝试使用Pandas操作一个大的CSV文件
df = pd.read_csv(strFileName,sep='\t',delimiter='\t')
Run Code Online (Sandbox Code Playgroud)
它引发了"pandas.parser.CParserError:错误标记数据.C错误:内存不足"wc -l表明有13822117行,我需要聚合在这个csv文件数据框上,有没有办法处理这个,然后拆分将csv分成几个文件并编写代码来合并结果?有关如何做到这一点的任何建议?谢谢
输入是这样的:
columns=[ka,kb_1,kb_2,timeofEvent,timeInterval]
0:'3M' '2345' '2345' '2014-10-5',3000
1:'3M' '2958' '2152' '2015-3-22',5000
2:'GE' '2183' '2183' '2012-12-31',515
3:'3M' '2958' '2958' '2015-3-10',395
4:'GE' '2183' '2285' '2015-4-19',1925
5:'GE' '2598' '2598' '2015-3-17',1915
Run Code Online (Sandbox Code Playgroud)
所需的输出是这样的:
columns=[ka,kb,errorNum,errorRate,totalNum of records]
'3M','2345',0,0%,1
'3M','2958',1,50%,2
'GE','2183',1,50%,2
'GE','2598',0,0%,1
Run Code Online (Sandbox Code Playgroud)
如果数据集很小,则下面的代码可以按照另一个提供的方式使用
df2 = df.groupby(['ka','kb_1'])['isError'].agg({ 'errorNum': 'sum',
'recordNum': 'count' })
df2['errorRate'] = df2['errorNum'] / df2['recordNum']
ka kb_1 recordNum errorNum errorRate
3M 2345 1 0 0.0
2958 2 1 0.5
GE 2183 2 1 0.5
2598 1 0 0.0
Run Code Online (Sandbox Code Playgroud)
(错误记录的定义:当kb_1!= kb_2时,相应的记录被视为异常记录)
我正在处理一个csv2.5 GB大的文件.2.5 GB的表格如下所示:
columns=[ka,kb_1,kb_2,timeofEvent,timeInterval]
0:'3M' '2345' '2345' '2014-10-5',3000
1:'3M' '2958' '2152' '2015-3-22',5000
2:'GE' '2183' '2183' '2012-12-31',515
3:'3M' '2958' '2958' '2015-3-10',395
4:'GE' '2183' '2285' '2015-4-19',1925
5:'GE' '2598' '2598' '2015-3-17',1915
Run Code Online (Sandbox Code Playgroud)
我想分组ka并kb_1获得如下结果:
columns=[ka,kb,errorNum,errorRate,totalNum of records]
'3M','2345',0,0%,1
'3M','2958',1,50%,2
'GE','2183',1,50%,2
'GE','2598',0,0%,1
Run Code Online (Sandbox Code Playgroud)
(错误记录的定义:何时kb_1 != kb_2,相应的记录被视为异常记录)
我的电脑是ubuntu 12.04,有16 GB内存并free -m返回
total used free shared buffers cached
Mem: 112809 14476 98333 0 128 10823
-/+ buffers/cache: 3524 109285
Swap:
0 0 0
Run Code Online (Sandbox Code Playgroud)
我的python文件被调用 bigData.py
import pandas …Run Code Online (Sandbox Code Playgroud) 我一直在使用ipython notebook来运行一些R脚本.现在的问题是我的Ubuntu 14.04上有两个R版本.一个是R.3.2.2在/home/MYNAME/anaconda2/bin/R,另一个是我需要R工作室的R,现在问题是我只想R.3.3.1用于我的系统,因为我需要完成一些高级任务.
conda uninstall r根据打印输出,运行后,我会使用很多与R相关的软件包,如果我conda uninstall r再次运行,它会说
Fetching package metadata .......
Using Anaconda Cloud api site https://api.anaconda.org
Solving package specifications: ..........
Error: no packages found to remove from environment: /home/MyName/anaconda2
Run Code Online (Sandbox Code Playgroud)
但是当我Which R再次跑步时,仍然是anaconda R,如果我R在终端跑,它仍然是R3.2.2,任何人都知道我怎么能删除这个anaconda R版本?
我的intellij版本是15.0.2.但是在运行上下文菜单中,没有关于分析一段代码的选项.谁知道出了什么问题?