小编neu*_*ron的帖子

如果条件与数据框

我想要如果条件成立,df[df["tg"] > 10然后df[df["tg"] < 32乘以五,否则除以二。但是,我收到以下错误

ValueError:DataFrame 的真值不明确。使用 a.empty、a.bool()、a.item()、a.any() 或 a.all()。

d = {'year': [2001, 2001, 2001, 2001, 2001, 2001, 2001, 2001],
     'day': [1, 2, 3, 4, 1, 2, 3, 4,],
     'month': [1, 1, 1, 1, 2, 2, 2, 2],
     'tg': [10, 11, 12, 13, 50, 21, -1, 23],
     'rain': [1, 2, 3, 2, 4, 1, 2, 1]}
df = pd.DataFrame(data=d)
print(df)


[OUT]

   year  day  month  tg  rain
0  2001    1      1  10     1
1  2001    2 …
Run Code Online (Sandbox Code Playgroud)

python dataframe pandas

10
推荐指数
1
解决办法
783
查看次数

rowSums 错误“x”必须是数字

我正在尝试将各种列添加到一起,rowSums但我遇到了一些问题。以下是列名列表:

colnames(No_Low_No_Intergenic_snpeff)

"CHROM" "POS"   "REF"   "ALT"   "QUAL"  "ANN.ALLELE"    "ANN.EFFECT"
"ANN.IMPACT"    "ANN.GENE"  "ANN.GENEID"    "ANN.FEATURE"   "ANN.FEATUREID"
"ANN.HGVS_C"    "ANN.HGVS_P"    "ANN.ERRORS"    "GEN.C02141.GT" "GEN.C00611.GT"
"GEN.C00633.GT" "GEN.C00634.GT" "GEN.C00644.GT" "GEN.C00647.GT" "GEN.C00648.GT"
"GEN.C00649.GT" "GEN.C00650.GT" "GEN.C00653.GT" "GEN.C00655.GT" "GEN.C00656.GT"
"GEN.C00657.GT" "GEN.C00659.GT" "GEN.C00682.GT" "GEN.C00705.GT" "GEN.C00707.GT"
"GEN.C00720.GT" "GEN.C00783.GT" "GEN.C01431.GT" "GEN.C01944.GT" "GEN.C01943.GT"
"GEN.C01403.GT" "GEN.C01158.GT" "GEN.C01157.GT" "GEN.C01156.GT" "GEN.C01033.GT"
"GEN.C00736.GT" "GEN.C00639.GT" "GEN.C99686.GT"
Run Code Online (Sandbox Code Playgroud)

我正在使用的GEN.Cxxxxx.GT所有列都带有标签,并且这些列中的所有值范围为 0-2。我试图对第 20:29 列和第 45 列求和,然后将这些值放在一个名为 的新列中controls

No_Low_No_Intergenic_snpeff.scores$controls <- rowSums(No_Low_No_Intergenic_snpeff.scores[,20:29,45])
Run Code Online (Sandbox Code Playgroud)

但是当我尝试运行该命令时,出现以下错误:

Error in rowSums(No_Low_No_Intergenic_snpeff.scores[, 20:29, 45]) : 'x' must be numeric
Run Code Online (Sandbox Code Playgroud)

数据

str(No_Low_No_Intergenic_snpeff.scores)

'data.frame':   1000 obs. of …
Run Code Online (Sandbox Code Playgroud)

r

0
推荐指数
1
解决办法
2万
查看次数

标签 统计

dataframe ×1

pandas ×1

python ×1

r ×1