小编Chr*_*ris的帖子

将函数应用于 pandas 数据框中的所有列时出现意外行为

我无法理解为什么调用 pandas 的 dataframe.apply 方法没有返回预期结果。有人可以解释为什么下面显示的第一个 apply 调用没有返回预期结果,而第二个调用却返回预期结果吗?

import pandas as pd
import numpy as np

df = pd.DataFrame({
    "x": [1, 2, np.nan],
    "y": ["hi", "there", np.nan]
})
print(df)
#>      x      y
#> 0  1.0     hi
#> 1  2.0  there
#> 2  NaN    NaN
print(df.dtypes)
#> x    float64
#> y     object
#> dtype: object

# why would something like this not return the expected result (which should
# be TRUE, FALSE):
print(df.apply(lambda x: np.issubdtype(x, np.number)))
#> x    False
#> y    False …
Run Code Online (Sandbox Code Playgroud)

python pandas

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

指定限制时,值会从ggplot2直方图中删除

我想创建一个ggplot2直方图,其中图的限制等于数据集中的最小值和最大值,而不排除实际直方图中的那些值.

我在使用基本图形时得到了我正在寻找的行为.具体来说,下面的第二个直方图显示了与第一个直方图相同的所有值(即,第二个直方图中没有排除任何二进制数),即使我xlim在第二个图中包含了一个参数:

min_wt <- min(mtcars$wt)
max_wt <- max(mtcars$wt)
xlim <- c(min_wt, max_wt)

hist(mtcars$wt, breaks = 30, main = "No limits added")

hist(mtcars$wt, breaks = 30, xlim = xlim, main = "Limits added")
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述 在此输入图像描述

ggplot2虽然没有给我这种行为:

library(ggplot2)

# Using green colour to make dropped bins easy to see:
p <- ggplot(mtcars, aes(x = wt)) + geom_histogram(colour = "green", bins = 30)
p + ggtitle("No limits added")

p + xlim(xlim) + ggtitle("Limits added") 
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述 在此输入图像描述

看看在第二个图中我是如何失去低于2和2的点之一的高于5的点?我想知道如何解决这个问题.一些misc笔记:

首先,指定boundary允许我在直方图中包含最小值(即低于2的值),但是我仍然没有解决大于5的2个值的问题:

ggplot(mtcars, aes(x = wt)) + …
Run Code Online (Sandbox Code Playgroud)

r ggplot2

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

将数据框转换为深层嵌套列表

我正在尝试创建一个whisker包期望的数据结构,我似乎无法弄清楚如何从我的数据框创建该结构.假设我有以下数据框:

library(dplyr)  

existing_format <- 
  mtcars %>% 
    select(carb, gear, cyl) %>% 
    arrange(carb, gear, cyl) %>% 
    distinct() 
Run Code Online (Sandbox Code Playgroud)

...我想转到existing_format以下所需格式(仅desired_format显示列表的前两个元素):

desired_format <- list(
  list( 
    carb = "1",
    gear = list(
      list(gear = "3", cyl = list(list(cyl = "4"), list(cyl = "6"))),
      list(gear = "4", cyl = list(list(cyl = "4")))
    )
  ),
  list( 
    carb = "2",
    gear = list(
      list(gear = "3", cyl = list(list(cyl = "8"))),
      list(gear = "4", cyl = list(list(cyl = "4"))),
      list(gear = "5", cyl …
Run Code Online (Sandbox Code Playgroud)

r purrr r-whisker

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

标签 统计

r ×2

ggplot2 ×1

pandas ×1

purrr ×1

python ×1

r-whisker ×1