我有一个带ID号的大型数据框:
ID.head()
Out[64]:
0 4806105017087
1 4806105017087
2 4806105017087
3 4901295030089
4 4901295030089
Run Code Online (Sandbox Code Playgroud)
这些都是目前的所有字符串.
我想转换为int不使用循环 - 为此我使用ID.astype(int).
问题是我的一些行包含无法转换为的脏数据int,例如
ID[154382]
Out[58]: 'CN414149'
Run Code Online (Sandbox Code Playgroud)
我怎样才能(不使用循环)删除这些类型的事件,以便我可以astype安心使用?
我对Shiny(和R)相当新,但我已经设法启动并运行了一个应用程序.
然而,我对RStudio实际运行两个脚本server.R和ui.R时发生的"执行顺序"感到很困惑.
在我看来,有4个代码段(2个用于server.R脚本,2个用于ui.R脚本):
server.R:
###### SECTION 1
shinyServer(function(input, output, session) {
###### SECTION 2
})
Run Code Online (Sandbox Code Playgroud)
ui.R:
###### SECTION 1
shinyUI(fluidPage(
###### SECTION 2
)
)
Run Code Online (Sandbox Code Playgroud)
我的问题是,假设我有上述正确,哪些部分是第一,第二,第三等?
我花了几个小时试图在熊猫数据框架上做一个"累计组合".我已经查看了所有stackoverflow的答案,令人惊讶的是,它们都无法解决我的(非常基本的)问题:
我有一个数据帧:
df1
Out[8]:
Name Date Amount
0 Jack 2016-01-31 10
1 Jack 2016-02-29 5
2 Jack 2016-02-29 8
3 Jill 2016-01-31 10
4 Jill 2016-02-29 5
我在尝试着
所以期望的输出是:
df1
Out[10]:
Name Date Cumsum
0 Jack 2016-01-31 10
1 Jack 2016-02-29 23
2 Jill 2016-01-31 10
3 Jill 2016-02-29 15
编辑:我正在简化这个问题.根据目前的答案,我仍然无法获得正确的"正在运行"的cumsum.仔细看,我希望看到累计金额"10,23,10,15".换句话说,我希望在每个连续日期看到一个人的总累计金额.注意:如果同一个人在一个日期有两个条目,我想将它们相加,然后将它们添加到正在运行的cumsum中,然后才打印总和.
我遇到了一个问题,并设法通过破解解决了该问题,我希望了解该问题,并希望摆脱该黑客攻击。
我试图重现问题无济于事,所以的话将要在这里就够了。
我正在尝试rbind在R中使用两个数据框,其结果必须再次是一个数据框,而不是list。我rbind在大多数脚本中都使用过,从来没有遇到过问题。
但是,今天我将rbind应用于两个数据帧,例如foo,bar并且返回list foobar。我用来解决此问题的技巧是强制转换foo并再次转换bar为数据帧,如下所示:
rbind(data.frame(foo), data.frame(bar))
此作品,但我想知道为什么我必须把它明确地转换时都foo和bar已经data.frames。
那么我的问题是,当两个输入都是data.frames时,将在哪种“一般”情况下rbind返回a list?
我尝试通过查看rbind(A,A)和调试它rbind(B,B)。两次都返回一个数据帧而不是一个list。为什么会rbind(A,B)返回一个list?
谢谢!
在 R 中训练 XGBoost 模型后,我会看到一个名为的模型对象,xgb它是list of 7。
当我使用 保存模型xgb.save然后使用 重新加载xgb.load时,我会看到一个似乎“较小”的模型对象,它是一个list of 2.
显然我无法共享代码,因为您需要大量的训练数据,所以我真正能展示的只是变量编辑器的图片。
下面是模型对象xgb,它是训练后的原始模型,与模型对象test1是相同模型但保存并重新加载的模型对象:
为什么会发生这种情况?在保存/加载模型时我是否会丢失有价值的信息?
任何帮助表示赞赏。
对于某人来说,这应该很容易回答,但是我在任何地方都找不到答案。
我试图从R中的列表返回列表中每个元素的第一项。
> a
[1] 1 2 3
> b
[1] 11 22 33
> c
[1] 111 222 333
> d <- list(a = a,b = b,c = c)
> d
$a
[1] 1 2 3
$b
[1] 11 22 33
$c
[1] 111 222 333
Run Code Online (Sandbox Code Playgroud)
基于上面列表d的构造,我想返回一个带有三个值的向量:
return 1 11 111
Run Code Online (Sandbox Code Playgroud) 我有一个包含两列的数据框:
Surname Email
1 house greghouse@gmail.com
2 wilson johnwatson@gmail.com
Run Code Online (Sandbox Code Playgroud)
我想创建一个逻辑向量来检查是否Surname包含在中Email.结果应该是:
Surname Email CheckEmail
1 house greghouse@gmail.com TRUE
2 wilson johnwatson@gmail.com FALSE
Run Code Online (Sandbox Code Playgroud)
我试过grep但似乎grep只能在一个或多个实例中查找一个模式.我特别需要在多个实例中查找多个模式.
> grep(df1$Surname,df1$Email)
[1] 1
Warning message:
In grep(df1$Surname, df1$Email) :
argument 'pattern' has length > 1 and only the first element will be used
Run Code Online (Sandbox Code Playgroud)