我正在尝试遍历数据框的列名,并评估每列的哪个类.
for (i in columns(df)){
class(df$i)
}
Run Code Online (Sandbox Code Playgroud)
除了正确的方法,我已经尝试了一切.
PS:我想以这种方式做,因为我必须为每个班级设置不同的条件.
通常numpy.var()与numpy.nanvar()缺少值时不同,对于numpy.std()和numpy.nanstd().然而:
df = pd.DataFrame({'A': [1,2,3,4,5,6,7,8,9,10,np.NaN,np.NaN,np.NaN]})
print("np.var() " + " : "+ str(np.var(df["A"])))
print("np.nanvar() " + " : "+ str(np.nanvar(df["A"])))
print("np.std() " + " : "+ str(np.std(df["A"])))
print("np.nanstd() " + " : "+ str(np.nanstd(df["A"])))
Run Code Online (Sandbox Code Playgroud)
结果:
np.var() : 8.25
np.nanvar() : 8.25
np.std() : 2.8722813232690143
np.nanstd() : 2.8722813232690143
Run Code Online (Sandbox Code Playgroud)
为什么两者都一样?在np.var()或的文档中没有任何关于缺失值的内容np.std().
我有一个 df ,我需要预测未来 7 天内每一天的因变量(数字)。数据train是这样的:
df.head()
Date X1 X2 X3 Y
2004-11-20 453.0 654 989 716 # row 1
2004-11-21 716.0 878 886 605
2004-11-22 605.0 433 775 555
2004-11-23 555.0 453 564 680
2004-11-24 680.0 645 734 713
Run Code Online (Sandbox Code Playgroud)
具体来说,对于2004-11-20第 1 行中的日期,我需要Y未来 7 天的每一天的预测值,而不仅仅是当前日期(变量Y),并且考虑到要预测从 开始的第 5 天,2004-11-20我将不会获得数据未来 4 天可用,起始时间为2004-11-20。
我一直在考虑创建 7 个以上变量("Y+1day"、"Y+2day" 等),但我需要每天创建一个训练 df ,因为机器学习技术仅返回一个变量作为输出。有没有更简单的方法?
我正在使用skikit-learn 库进行建模。
我需要替换字符向量的某些值:
x <- data.frame(Strings = c("one", "two","three","four","five","four","five","four","five","two","thre","two","three","two","three"), stringsAsFactors = FALSE)
> x
Strings
1 one
2 two
3 three
4 four
5 five
6 four
7 five
8 four
9 five
10 two
11 three
12 two
13 three
14 two
15 three
Run Code Online (Sandbox Code Playgroud)
在 python 中,我会这样做:
x["Strings"].replace(["one", "two", "thre","three"], ["One","Two","Three","Three"], inplace=True)
Run Code Online (Sandbox Code Playgroud)
但是在 r 中,该函数的replace()工作方式并不相同。Stackoverflow 中的字符串替换有很多解决方案,但没有一个这么简单。这在 r 中可能吗?
我有这个数据框:
df = pd.DataFrame({'NUMBER_1': {('2019-07', 'A'): 4, ('2019-07', 'D'): 2, ('2019-08', 'A'): 32, ('2019-08', 'B'): 14, ('2019-09', 'A'): 32, ('2019-09', 'B'): 53, ('2019-09', 'C'): 54, ('2019-09', 'D'): 24},
'NUMBER_2': {('2019-07', 'A'): 75, ('2019-07', 'D'): 12, ('2019-08', 'A'): 42, ('2019-08', 'B'): 32, ('2019-09', 'A'): 54, ('2019-09', 'B'): 21, ('2019-09', 'C'): 97, ('2019-09', 'D'): 65}})
Run Code Online (Sandbox Code Playgroud)
df:
我在哪里寻找这个输出:
我已经看到了针对分类类型列的类似问题,但没有看到针对索引的类似问题,我正在寻找一种方法来避免使用该方法,reset_index()因为实际上我使用了四个索引,而不是最小示例中的两个索引。有什么建议?
我一直在尝试构建RandomForestClassifier()(RF)模型和DecisionTreeClassifier()(DT)模型以获得相同的输出(仅用于学习目的)。我发现了一些带有答案的问题,我使用这些答案来构建此代码,例如使两个模型相等所需的参数,但我找不到实际执行此操作的代码,因此我正在尝试构建该代码:
import numpy as np
import seaborn as sns
import matplotlib.pyplot as plt
from sklearn.ensemble import RandomForestClassifier
from sklearn.tree import DecisionTreeClassifier
from sklearn.datasets import make_classification
from sklearn.model_selection import train_test_split
random_seed = 42
X, y = make_classification(
n_samples=100000,
n_features=5,
random_state=random_seed
)
X_train, X_test, y_train, y_test = train_test_split(X, y, random_state=random_seed)
DT = DecisionTreeClassifier(criterion='gini', # default
splitter='best', # default
max_depth=None, # default
min_samples_split=3, # default
min_samples_leaf=1, # default
min_weight_fraction_leaf=0.0, # default
max_features=None, # default
random_state=random_seed, # NON-default …Run Code Online (Sandbox Code Playgroud) python machine-learning decision-tree random-forest scikit-learn
我一直在寻找很多答案,但我仍然无法完全理解它们.例如,最明显的一个(在这里),其中包括(1,2,3)给出了具体的实例对点的各种用途,但我不能在这里理解,例如,它的应用:
car_data <-
mtcars %>%
subset(hp > 100) %>%
aggregate(. ~ cyl, data = ., FUN = . %>% mean %>% round(2)) %>%
transform(kpl = mpg %>% multiply_by(0.4251)) %>%
print
#result:
cyl mpg disp hp drat wt qsec vs am gear carb kpl
1 4 25.90 108.0 111.0 3.94 2.15 17.75 1.00 1.00 4.50 2.00 11.010
2 6 19.74 183.3 122.3 3.59 3.12 17.98 0.57 0.43 3.86 3.43 8.391
3 8 15.10 …Run Code Online (Sandbox Code Playgroud) 我想应该已经有这样的问题了,但是我还没有找到。这可能是因为我不知道我正在寻找的确切概念/单词,但这里是一个例子:
我有这个代码:
group_1 = ['Hello', 'world', '!']
group_2 = [1,23,4,2,5,2]
group_3 = ['A', 'K', 'L']
all_groups = [group_1, group_2, group_3]
for i in all_groups:
print(i, ':', len(i))
Run Code Online (Sandbox Code Playgroud)
它给出了这个输出:
['Hello', 'world', '!'] : 3
[1, 23, 4, 2, 5, 2] : 6
['A', 'K', 'L'] : 3
Run Code Online (Sandbox Code Playgroud)
这是预期的输出:
'group_1' : 3
'group_2' : 6
'group_3' : 3
Run Code Online (Sandbox Code Playgroud)
group_1正如您所看到的,我正在尝试打印可调用对象、group_2和 的名称group_3。有什么建议么?
ggplot2我正在尝试在带有包的幻灯片幻灯片中绘制图表officer。我实际上可以做到这一点(ggplot2直接在 ppt 中打印),但是因为我需要增加图形的大小ggplot2(对于 ppt 幻灯片),并且我知道ggplot2图形取决于窗口的大小(在 中RStudio)或无论您将其设置为导出它,我都在寻找一种方法来(1)导出具有给定大小的 ggplot2 图形(例如:height=5, width=8),(2)从 ppt 代码导入/读取:
library(officer)
library(devEMF)
library(magrittr)
library(ggplot2)
t <- "../example.pptx"
filename <- gg
read_pptx() %>%
add_slide(layout = "Title and Content", master = "Office Theme") %>%
ph_with_img(src = filename, width = 6, height = 4, type = "body") %>%
print(target = t)
Run Code Online (Sandbox Code Playgroud)
gg是 ggplot2 中的任何图(实际上并不重要)。t是输出文件地址。
PD:如果有一些我不知道的包/命令并且我仍然找不到,我可以在其中编辑 ggplot2 的大小,那么所有这些都是不必要的。
我有这个数据框:
set.seed(100)
x <- data.frame(KAS1_1 = sample(c(letters[1], NA), 10, replace =TRUE),
KAS1_2 = sample(c(letters[2], NA), 10, replace =TRUE),
KAS1_3 = sample(c(letters[3], NA), 10, replace =TRUE),
KAS1_4 = sample(c(letters[4], NA), 10, replace =TRUE),
KAS1_5 = sample(c(letters[5], NA), 10, replace =TRUE),
stringsAsFactors = FALSE)
> df
KAS1_1 KAS1_2 KAS1_3 KAS1_4 KAS1_5
1 a <NA> <NA> d e
2 a <NA> <NA> <NA> <NA>
3 <NA> b <NA> d <NA>
4 a b <NA> <NA> <NA>
5 a <NA> c <NA> <NA>
6 …Run Code Online (Sandbox Code Playgroud) python ×5
r ×5
dplyr ×2
pandas ×2
scikit-learn ×2
dataframe ×1
datetime ×1
ggplot2 ×1
lapply ×1
loops ×1
magrittr ×1
numpy ×1
officer ×1
pipe ×1
powerpoint ×1
prediction ×1
statistics ×1
string ×1