我正在处理一个包含month、firmID和firmSize列的1400万行的大数据帧。在一个单独的数据框架中,我有每月断点(基本上是五分之一),用于确定大小。
我的目标是在第一个数据帧中添加第四列quintile。在这一列中,我将有一个从1到5的数字,对应于firmSize在那个特定月份中属于的五分之一大小。
我有下面的循环来完成这个工作,但是运行时有几百个小时。
for (i in 1:length(df$month)) {
for (j in 1:4) {
if (df$size[i] <= breakpoints[which(df$month[i] == breakp
我想创建一个神经网络来查找视频游戏的销售额,使用这个数据帧:
有没有一种方法可以填充Year列的空值,方法是从Name列中查找类似的命名游戏,并将其相应的年份放入空值。
这是数据帧的头部
Name Platform Year Genre Publisher
1 Wii Sports Wii 2006.0 Sports Nintendo
2 Super
我正在尝试从数据帧的列中提取+或-符号到一个向量:
如果我有这个数据帧:
sample info
A man;+;yes;no
B man;-;no;no
C woman;+;yes;no
D man;NA;no;no
E woman;-;yes;no
我正在尝试将info列中包含的符号(+或-)提取为一个向量:
strand<-vector()
for (i in 1:nrow(df)){
if(grepl(";\\+;", df[i,2]) == TRUE){
stra
在R中:我如何循环多个列并使用一个定制的函数,该函数接受来自每个列的参数并相应地修改这些列?
例如,我有以下数据:
> head(runTimeSep)
hours h minutes min
1 70 min NA <NA>
2 21 min NA <NA>
3 106 min NA <NA>
4 75 min NA <NA>
5 14 min NA <NA>
6 82 min NA <NA>
7 1 h
我有一个很大的Pandas数据帧,24'000'000行×6列加上索引。我需要读取第1列中的一个整数(=1或2),如果第1列= 1,则强制第3列中的值为负;如果第1列= 2,则强制第3列中的值为正。我在Jupyter notebook中使用以下代码: for i in range(1000):
if df.iloc[i,1] == 1:
df.iloc[i,3] = abs(df.iloc[i,3])*(-1)
if df.iloc[i,1] == 2:
df.iloc[i,3] = abs(df.iloc[i,3]) 上面的代
我有两个一行的数据帧,每个数据帧都有相同的列名。其中一个数据帧在一个或多个列中具有NA值。我希望删除其中一个数据帧中具有NA值的列,并删除第二个数据帧中的相同列。
样本:
数据框架1:
age height education average
NA 1.80 college NA
数据框架2:
age height education average
36 1.95 college 85
结果:
数据框架1:
height education
1.80 college
数据框架2:
height education
1.95 college
我该
我已经创建了一个名为z的数据框架。
a = c(1,1,1);
b = c(2,2,2);
c = c(3,3,3);
d = c(4,4,4);
z = data.frame(a,b,c,d);
我希望从数据帧z中删除列c和d。
我试过这段代码
p = subset(z , colnames(z) == c('a' , 'b'))
但我会得到这个结果
a b c d
1 2 3 4
1 2 3 4
为了从z中删除列和d,我应该对该命令进行哪些更改。
我试图使用函数rmultinom从R中的多项分布生成数据,但我遇到了一些问题。事实是,我想要一个50行20列的数据帧,结果的总和等于3乘以n*p。 我使用以下代码: p <- 20
n <- 50
N <- 3*(n*p)
prob_true <- rep(1/p, p)
a <- rmultinom(50, N, prob_true) 但我得到了一些非常奇怪的结果和一个20行50列的数据框。如何解决这个问题? 提前感谢!
我有一个包含数百列的数据框,我想更改它的名称。我对R非常陌生,所以很容易理解它的逻辑,但我就是在网上找不到相关的例子。
我能得到的最接近的结果是:
projectFileAllCombinedNames <- for (i in 1:200){names(projectFileAllCombined)[i+1] <-variableNames[i]}
基本上,从projectFileAllCombined的第二列开始,我希望遍历数据帧中的列,并为它们分配第二个数据帧中的数据值。我可以使用以下代码手动更改一个列名:
colnames(projectFileAllCombined)[2
这听起来可能微不足道,但我在查找数据帧的列名时遇到了一个问题(只有一列)
> a <- data.frame(x = c(1,2,3,4,5), y = c("a", "a","c","d","r"))
> a
x y
1 1 a
2 2 a
3 3 c
4 4 d
5 5 r
> colnames(a)
[1] "x" "y"
> names(a)
[1] "x" "y"
> a1 <- a[,1]
&g
我有数据帧,
从我转换成ndarray开始,
X = df.iloc[:].values
然后我做了特征选择,给出了一些列3,45,67,89,101,145,...
由于有许多列,我可以知道如何在数据帧中取回相应的列名
反之,我可以使用下面的代码
cols = ['Amount','Savings_Amount','Loan_Term']
[df.columns.get_loc(c) for c in cols if c in df]
但我需要从索引中找出名字。
我有一个有三列和很多行的数据帧。其中一列包括诸如80803和9995之类的数字。我想将这一列中的具体数字80803和9995替换为0。
假设我的数据帧名为df。我尝试使用gsub函数,比如gsub(80803,0,df)。但会出现一个错误,显示哪个状态为pattern has length > 1 and only the first element will be used。
这是我的df的一个例子。只是有更多的行。
a <- c(85.42, 80.80, 78.56 , 70.40)
b <- c(110, 80803, 9995, 50)
c <- c(3, 4
我试图循环两个数据帧,并基于匹配的名称,从第二个数据帧绘制一个值到第一个数据帧。现在我的代码看起来就像
for (n in 1:180){
for (m in 1:180){
if (league2008[n,1]==league2009[m,1]){
league2008[n,23]=league2009[m,23]
league2008[n,30]=league2009[m,30]
}
}
}
所以现在,如果第1列中的名称匹配,我会为2009年至2008年的名称带来第23栏和第30栏的值。这是可
我正在尝试使用ggpolt绘制热图,为此,我想重新排列我的数据帧,如下所示: country 2012 2013 2014 2015
AUS 2 5 6 1
AUT 3 3 1 5
BEL 1 8 2 8
NED 5 3 0 5 放入如下所示的日期框中: country year value
AUS 2012 2
AUS 2013 5
AUS
我有一个数据帧,如下所示: test
# Name1 Name2 Match
#1 A C 1
#2 E NA 0
#3 D G 1
#4 R NA 0 如果两个name列都有非NA元素,则match列显示1,如果没有非NA元素,则显示0。我想创建一种读取数据帧的方法,以便如果测试$match == 0,则Name 1中的行元素将被复制到Name 2,如下所示: test
# Name1 Name2 Match
#1 A C 1
#2 E E