python - 如何从包含唯一和重复记录的数据集中获取仅包含非重复记录的数据集?
问题描述
“我正在处理一个数据集,并希望将所有非重复记录提取到一个新数据集中。我当前的数据集有重复和非重复记录。有没有办法只获取唯一记录?
我已经尝试了下面的代码,它给了我所有重复的记录。
unique <- Data[!duplicated(Data),]
NewData <- unique[unique$x %in% unique$x[duplicated(unique$x)],]
例如,我采用了以下数据集
x <- c("A","B","B","D","A","C","B","A")
y <- c(1,2,3,4,5,6,7,8)
z <- c(8,7,6,5,4,3,2,1)
Data <- data.frame(x,y,z)
Dataframe:
x y z
A 1 8
B 2 7
B 3 6
D 4 5
A 5 4
C 6 3
B 7 2
A 8 1
我想要的是:
x y z
D 4 5
C 6 3
解决方案
这是一个基于 R 的替代方案
> Data[Data$x %in% as.character(unique(Data$x)) [table(Data$x)==1], ]
x y z
4 D 4 5
6 C 6 3
或使用 dplyr
Data %>%
group_by(x) %>%
filter(n() == 1)
推荐阅读
- c# - 正则表达式匹配重复文本除以哈希字符,可以在多行字符串中重复多次
- c++ - Qt3D:如何将 Scene2D 缩放为与窗口相同的大小(按像素计算)?
- javascript - JS动画不会让div变大
- c++ - 如何使用标题单元
- c - 为什么枚举常量而不是结构声明中的成员具有文件范围?
- python-pptx - AttributeError:“SlidePlaceholder”对象没有属性“insert_picture”
- r - 将字符串日期转换为日期数据类型
- html - 为什么 Firefox 83 默认为多选选项列表中的选项添加明显可见的填充?
- ios - 在应用程序启动之前如何播放动画?
- xml - svg 形状是根据里面的文字增长的吗?