小编Sta*_*anO的帖子

使用Python解析12GB CSV

我有一个12 GB的CSV文件.我希望只从这些数据中提取一些列,然后编写一个新的CSV,希望我可以加载到R中进行分析.

问题是我在尝试在写入新CSV文件之前立即加载整个列表时出现内存错误.如何逐行解析数据然后创建CSV输出?

这是我到目前为止:

import pandas

colnames = ['contributor name', 'recipient name', 'recipient party', 'contributor cfscore', 'candidate cfscore', 'amount']

DATA = pandas.read_csv('pathname\filename.csv', names=colnames)
DATA.to_csv(''pathname\filename.csv', cols = colnames)
Run Code Online (Sandbox Code Playgroud)

python csv r bigdata

5
推荐指数
2
解决办法
1409
查看次数

使用gsub查找R中不相等的所有值

在绘制网络图之前,我试图使用gsub将Igraph顶点变量中的值更改为颜色.
问题是我的图表有3个我关心的值,还有许多其他的我只想分组为"其他"并分配1种颜色.

例如,如果我有这样的数据:

Name........Value  
A............1  
B............2  
C............3  
D............4  
E............5  
Run Code Online (Sandbox Code Playgroud)

我有这样的代码:

V(g)$color=V(g)$value #assign the "Value" attribute as the vertex color  
V(g)$color=gsub("1","red",V(g)$color) #1 will be red  
V(g)$color=gsub("2","blue",V(g)$color) #2 will be blue  
V(g)$color=gsub("3", "yellow", V(DMedge)$color) #3 is yellow  
Run Code Online (Sandbox Code Playgroud)

我可以添加什么代码来使4和5成为其他颜色(例如绿色)?非常感谢您的帮助!

grep r gsub

2
推荐指数
1
解决办法
712
查看次数

如何确保两个Python列表中元素的数量相等?

我有两个清单,每个清单的长度约为160万个项目。每个项目要么为空,要么在其中包含一个或多个字符串的嵌入式列表。不幸的是,列表之一中缺少数据,因此两者不对应。我想将这些列表的内容写到平面数据框中,但是如果数组的长度不同则不能。

我已经尝试过一个for循环,当它检测到一个项目在一个列表中的长度与另一个列表中的长度不同时,将NA嵌入其中一个列表中,但是这种方法要花很长时间,因为它必须遍历160万个项目。

有没有比for-loop方法更快,更优雅的方法来做到这一点。从整体上看,整个过程需要大约6个小时。

编辑:这是我的意思的示例:

list_A = [[''],[''],[''],['a'],['a','b','c'],[''],['d']]
list_B = [[''],[''],[''],['a'],[''],[''],['']]
Run Code Online (Sandbox Code Playgroud)

我想要将NA放入list_B的空列表中,这样list_B看起来像:

list_A = [[''],[''],[''],['a'],['a','b','c'],[''],['d']]
list_B = [[''],[''],[''],['a'],['NA','NA','NA'],[''],['NA']]
Run Code Online (Sandbox Code Playgroud)

python numpy list python-3.x

2
推荐指数
1
解决办法
72
查看次数

模式仅匹配R中字符串中的第一个数字

我有一个数据框,其中包含一系列与账单ID相对应的六位数字.以奇数开头的ID对应于房屋投票,而偶数编号对应于参议院投票.例如,我的变量看起来像这样:

var <- runif(20, 100000, 999999) 
Run Code Online (Sandbox Code Playgroud)

我坚持试图找出一个grep()代码,我可以使用subset()命令来分隔以偶数开头的值和以奇数开头的值.有没有人有什么建议?谢谢!

grep r subset pattern-matching

0
推荐指数
1
解决办法
337
查看次数

合并文件夹中的所有csv并在Python中添加包含原始文件文件名的新列

我试图将文件夹中的所有csv文件合并为一个大型csv文件.我还需要向这个合并的csv添加一个新列,它显示每行来自的原始文件.这是我到目前为止的代码:

import csv
import glob


read_files = glob.glob("*.csv")

source = []

with open("combined.files.csv", "wb") as outfile:
    for f in read_files:
        source.append(f)
        with open(f, "rb") as infile:
            outfile.write(infile.read())
Run Code Online (Sandbox Code Playgroud)

我知道我必须以某种方式重复每个f为每个csv中的行数,然后将其作为新列附加到.write命令,但我不知道如何执行此操作.谢谢大家!

python csv

0
推荐指数
1
解决办法
2073
查看次数

使用R找出组的最大值与当前行之间的差异

与此类似的问题在这里,我试图找到一个组的最大值和当前行的值之间的差异.

例如,如果我有以下数据集:

ID <- c(1,1,1,2,2,2,2,3,3)
Value <- c(2,3,5,2,5,8,17,3,5)
group <- data.frame(Subject=ID, pt=Value)
Run Code Online (Sandbox Code Playgroud)

我将如何创建一个名为"diff"的新列,它将是当前行的值与该组中的最大值之间的差异?

谢谢您的帮助!

r dplyr data.table tidyr

0
推荐指数
1
解决办法
115
查看次数

标签 统计

r ×4

python ×3

csv ×2

grep ×2

bigdata ×1

data.table ×1

dplyr ×1

gsub ×1

list ×1

numpy ×1

pattern-matching ×1

python-3.x ×1

subset ×1

tidyr ×1