gpt4 book ai didi

python - 如何搜索具有相同列值的行并在不存在时插入行?

转载 作者:太空宇宙 更新时间:2023-11-04 10:22:48 25 4
gpt4 key购买 nike

我有以下数据集:

  CVSO Band   Period       pvalue
1 4 R 1.063372 5.383864e-03
2 4 V 1.652512 1.543246e-17
3 27 V 6.114795 2.174296e-12
4 24 I 7.163776 1.014593e-17
5 24 R 7.164236 0.000000e+00
6 24 V 7.171452 3.342914e-14

对于第一列中的每个值,我想搜索 Band I、R 和 V 是否存在。例如,在我的数据集中,4 只有 Band R 和 V,而 24 有所有三个波段。如果一个或多个波段不存在,我想添加一个 NA 行,以便获得以下输出:

  CVSO Band   Period       pvalue
1 4 I NA NA
2 4 R 1.063372 5.383864e-03
3 4 V 1.652512 1.543246e-17
4 27 I NA NA
5 27 R NA NA
6 27 V 6.114795 2.174296e-12
7 24 I 7.163776 1.014593e-17
8 24 R 7.164236 0.000000e+00
9 24 V 7.171452 3.342914e-14

最佳答案

(使用 R)这是一个可能的 data.table 解决方案

library(data.table)
lookup <- c("I", "R", "V")
res <- setDT(df)[, .SD[match(lookup, Band)] , by = CVSO][, Band := lookup]
res
# CVSO Band Period pvalue
# 1: 4 I NA NA
# 2: 4 R 1.063372 5.383864e-03
# 3: 4 V 1.652512 1.543246e-17
# 4: 27 I NA NA
# 5: 27 R NA NA
# 6: 27 V 6.114795 2.174296e-12
# 7: 24 I 7.163776 1.014593e-17
# 8: 24 R 7.164236 0.000000e+00
# 9: 24 V 7.171452 3.342914e-14

关于python - 如何搜索具有相同列值的行并在不存在时插入行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31303953/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com