相关疑难解决方法(0)

如何按多列对数据帧进行排序?

我想按多列对data.frame进行排序.例如,对于下面的data.frame,我想按列z(降序)然后按列b(升序)排序:

dd <- data.frame(b = factor(c("Hi", "Med", "Hi", "Low"), 
      levels = c("Low", "Med", "Hi"), ordered = TRUE),
      x = c("A", "D", "A", "C"), y = c(8, 3, 9, 9),
      z = c(1, 1, 1, 2))
dd
    b x y z
1  Hi A 8 1
2 Med D 3 1
3  Hi A 9 1
4 Low C 9 2
Run Code Online (Sandbox Code Playgroud)

sorting r dataframe r-faq

1266
推荐指数
19
解决办法
117万
查看次数

为什么gc()不能释放内存?

我在具有64 GB RAMWindows 64位计算机上运行模拟.内存使用率达到55%,在完成模拟运行后,我删除了工作空间中的所有对象,然后是a .rm(list=ls())double gc()

我认为这会为下一次模拟运行释放足够的内存,但实际内存使用率仅下降1%.咨询了很多不同的论坛我找不到令人满意的解释,只有模糊的评论如:

"根据您的操作系统,释放的内存可能不会返回到操作系统,而是保留在进程空间中."

我想找到以下信息:

  • 1)哪个操作系统和哪些条件释放内存不会返回给操作系统,以及
  • 2)如果有任何其他补救措施而不是关闭R并再次启动它以进行下一次模拟运行?

garbage-collection r

57
推荐指数
2
解决办法
2万
查看次数

跨两列排序,其中一列按绝对值排序

我正在尝试按两列对数据进行排序。其中之一是绝对值。按两列http://pandas.pydata.org/pandas-docs/version/0.17/ generated/pandas.DataFrame.sort_values.html 和按绝对值对值进行排序很容易 按绝对值排序按一列的绝对值排序,但我无法合并这两种方法。

例如,我有df已经按 abs 'dist' 排序,然后我想通过 'take' 在内部对其进行排序

In[4]:df
Out[4]: 
        q_id  dist  taking
    0   406   6.0    0.17
    1   448   6.0    0.46
    2   449   6.0    0.42
    3   208  -6.0    0.25
    4   244  -7.0    0.12
    5   203   7.0    0.40
    6   614   8.0    0.50
    7   243  -8.0    0.40
Run Code Online (Sandbox Code Playgroud)

它可能看起来像这样

df_sorted
Out[]: 
        q_id  dist  taking
    1   448   6.0    0.46
    2   449   6.0    0.42
    3   208  -6.0    0.25
    0   406   6.0    0.17
    4   244  -7.0    0.12
    5   203 …
Run Code Online (Sandbox Code Playgroud)

python sorting pandas

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

标签 统计

r ×2

sorting ×2

dataframe ×1

garbage-collection ×1

pandas ×1

python ×1

r-faq ×1