Tag: dataframe

如何使用来自多列的值对pandas数据框进行sorting?

我有以下数据框架: df = pandas.DataFrame([{'c1':3,'c2':10},{'c1':2, 'c2':30},{'c1':1,'c2':20},{'c1':2,'c2':15},{'c1':2,'c2':100}]) 或者,以可读的forms: c1 c2 0 3 10 1 2 30 2 1 20 3 2 15 4 2 100 以下sorting命令按预期工作: df.sort(['c1','c2'], ascending=False) 输出: c1 c2 0 3 10 4 2 100 1 2 30 3 2 15 2 1 20 但是下面的命令: df.sort(['c1','c2'], ascending=[False,True]) 结果是 c1 c2 2 1 20 3 2 […]

根据列中的公共值将大数据框分割成数据框列表

我有一个数据框10列,收集“用户”的行动,其中一列包含一个ID(不唯一,识别用户)(第10列)。 dataframe的长度约为750000行。 我试图提取单个dataframe(所以得到一个数据框的列表或向量)由包含“用户”标识符的列拆分,以隔离单个参与者的行为。 ID | Data1 | Data2 | … | UserID 1 | aaa | bbb | … | u_001 2 | aab | bb2 | … | u_001 3 | aac | bb3 | … | u_001 4 | aad | bb4 | … | u_002 导致进入 list( ID | Data1 | Data2 […]

什么是最有效的方式来列表作为数据框?

我经常想要将每个索引具有相同元素types的列表转换为数据框。 例如,我可能有一个列表: > my.list [[1]] [[1]]$global_stdev_ppb [1] 24267673 [[1]]$range [1] 0.03114799 [[1]]$tok [1] "hello" [[1]]$global_freq_ppb [1] 211592.6 [[2]] [[2]]$global_stdev_ppb [1] 11561448 [[2]]$range [1] 0.08870838 [[2]]$tok [1] "world" [[2]]$global_freq_ppb [1] 1002043 我想将此列表转换为数据框,其中每个索引元素是一个列。 自然(对我)要去的是使用do.call : > my.matrix<-do.call("rbind", my.list) > my.matrix global_stdev_ppb range tok global_freq_ppb [1,] 24267673 0.03114799 "hello" 211592.6 [2,] 11561448 0.08870838 "world" 1002043 直截了当的,但是当我试图把这个matrix作为一个数据框架时,这些列仍然是列表元素,而不是vector: > my.df<-as.data.frame(my.matrix, […]

重新排列数据框到一个表,相反的“融化”

我有这样的巨大数据框: SN = c(1:100, 1:100, 1:100, 1:100) class = c(rep("A1", 100), rep("B2", 100), rep("C3", 100), rep("D4", 100)) # total 6000 levels myvar = rnorm(400) mydf = data.frame(SN, class, myvar) 我想“解开”一个表,每个级别的单列和myvar填充: SN A1 B2 C3 D4 ………….and so on for all 6000 我怎么能做到这一点,我知道这是一个简单的问题,但我无法弄清楚。

从行中匹配string的数据框中删除行

我要删除某个行符合string匹配条件的数据框中的所有行吗? 例如: A,B,C 4,3,Foo 2,3,Bar 7,5,Zap 我将如何返回排除C = Foo的所有行的数据框: A,B,C 2,3,Bar 7,5,Zap

Rdataframe的实际限制

我一直在阅读关于如何read.table对于大型数据文件无效。 另外R如何不适合大数据集。 所以我想知道在哪里可以find实际限制,以及(1)读取各种大小的数据的性能图表(2)处理不同大小的数据。 实际上,我想知道什么时候performance恶化,什么时候我碰到路障。 此外,任何与C ++ / MATLAB或其他语言的比较都将非常有帮助。 最后如果对Rcpp和RInside有什么特别的性能比较,那会很棒!

合并大量的data.frames

可能重复: 同时合并列表中的多个dataframe 示例data.frames : df1 = data.frame(id=c('1','73','2','10','43'),v1=c(1,2,3,4,5)) <br> df2 = data.frame(id=c('7','23','57','2','62','96'),v2=c(1,2,3,4,5,6)) <br> df3 = data.frame(id=c('23','62'),v3=c(1,2)) <br> 注意:每个data.frame的id是唯一的。 我想要得到的matrix看起来像 1 1 NA NA 2 3 4 NA 7 NA 1 NA 10 4 NA NA 23 NA 2 1 43 5 NA NA 57 NA 3 NA 62 NA 5 2 73 2 NA NA 96 […]

如何总结一个data.frame中的列的所有值?

我有一个数据框有几列; 一些数字和一些字符。 如何计算特定列的总和? 我已经search了这个,我看到许多function( sum , cumsum , rowsum , rowSums , colSums , aggregate , apply ),但我无法理解这一切。 例如,假设我有一个数据框people与以下列 Name Height Weight Mary 65 110 John 70 200 Jane 64 115 … 我如何得到所有权重的总和?

重复data.frame的行

我想重复一个data.frame的行,每个N次。 结果应该是一个新的data.frame (使用nrow(new.df) == nrow(old.df) * N )保持列的数据types。 N = 2的示例: ABC ABC 1 ji 100 1 ji 100 –> 2 ji 100 2 KP 101 3 KP 101 4 KP 101 所以,每行重复2次,字符保持字符,因素保持因素,数字保持数字,… … – 我第一次尝试使用apply apply(old.df, 2, function(co) rep(co, each = N)) ,但是这个将我的值转换为字符,我得到: ABC [1,] "j" "i" "100" [2,] "j" "i" "100" [3,] "K" […]

用数据框中的NAreplace字符值

我有一个数据框包含(在随机的地方)一个字符值(比如说"foo" ),我想用NA代替。 在整个数据框架中,最好的方法是什么?