我无法理解为什么调用 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) 我想创建一个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) 我正在尝试创建一个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)