小编Jra*_*u56的帖子

是否可以使用比使用因子更小的数据集?

我试图减少我的一些数据集的内存占用,其中每列有一小部分因子(重复很多次).有没有更好的方法来减少它?为了比较,这是我从使用因素得到的:

library(pryr)

N <- 10 * 8
M <- 10
Run Code Online (Sandbox Code Playgroud)

初步数据:

test <- data.frame(A = c(rep(strrep("A", M), N), rep(strrep("B", N), N)))
object_size(test)
# 1.95 kB
Run Code Online (Sandbox Code Playgroud)

使用因素:

test2 <- as.factor(test$A)
object_size(test2)
# 1.33 kB
Run Code Online (Sandbox Code Playgroud)

旁白:我天真地认为他们用一个数字取代了弦乐,并且看到test2小于的数字令人惊喜test3.谁能指点我如何优化因子表示?

test3 <- data.frame(A = c(rep("1", N), rep("2", N)))
object_size(test3)
# 1.82 kB
Run Code Online (Sandbox Code Playgroud)

r dataframe

3
推荐指数
1
解决办法
189
查看次数

生成并切片反转列表

这可能是愚蠢和基本的,但我如何获得列表 edcba

当我尝试:

import string
letters = string.ascii_lowercase
letters[4:0:-1]
Run Code Online (Sandbox Code Playgroud)

'EDCB'

这是有道理的,因为索引是[4,3,2,1].但是,使用-1以下结果:

letters[4:-1:-1]
Run Code Online (Sandbox Code Playgroud)

""

我知道我可以做"".join(reversed(letters[:5]))或使用列表理解,但我很好奇如何用消极的步骤做到这一点.

python reverse list

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

标签 统计

dataframe ×1

list ×1

python ×1

r ×1

reverse ×1