首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >仅从数据帧中获取唯一行

仅从数据帧中获取唯一行
EN

Stack Overflow用户
提问于 2021-11-08 16:15:49
回答 3查看 56关注 0票数 0

我正在尝试删除所有有重复项的行。我只想要唯一的行。我已经尝试了drop_duplicates()keep = False参数,` `subset =订单ID,项目代码,但它就是不正确。

假设我的数据帧如下所示

代码语言:javascript
复制
|ORDER ID | ITEM CODE |
123         XXX    
123         YYY
123         YYY
456         XXX
456         XXX
456         XXX
789         XXX
000         YYY

我希望它看起来像这样:

代码语言:javascript
复制
|ORDER ID | ITEM CODE |
123         XXX    
789         XXX
000         YYY

正如您所看到的,子集将是订单ID和项目代码列,理想情况下,我们将丢失第2-6行。(实际的数据集有更多的列。)

EN

回答 3

Stack Overflow用户

发布于 2021-11-08 16:27:15

不确定你的问题是什么。工作正常。

代码语言:javascript
复制
import pandas as pd


data = [[123,         'XXX', 11],    
[123,         'YYY', 22],
[123,         'YYY', 33],
[456,         'XXX', 44],
[456,         'XXX', 55],
[456,         'XXX', 66],
[789,         'XXX',77],
[000,         'YYY',88]]

columns = ['ORDER ID','ITEM CODE','extra column']

df = pd.DataFrame(data, columns=columns)

df = df.drop_duplicates(subset = ['ORDER ID','ITEM CODE'], keep=False)

输出:

在此之前

代码语言:javascript
复制
print(df)
   ORDER ID ITEM CODE  extra column
0       123       XXX            11
1       123       YYY            22
2       123       YYY            33
3       456       XXX            44
4       456       XXX            55
5       456       XXX            66
6       789       XXX            77
7         0       YYY            88

之后

代码语言:javascript
复制
print(df)
   ORDER ID ITEM CODE  extra column
0       123       XXX            11
6       789       XXX            77
7         0       YYY            88
票数 1
EN

Stack Overflow用户

发布于 2021-11-08 16:23:33

尝试修改您的子集以仅包含ORDER ID

代码语言:javascript
复制
df.drop_duplicated(subset=['ORDER ID'])
票数 0
EN

Stack Overflow用户

发布于 2021-11-08 16:29:45

很可能是您没有正确设置数据帧。你可能在做什么

代码语言:javascript
复制
df.drop_duplicates()

但这将无法覆盖您之前的值。相反,你应该做的是

代码语言:javascript
复制
df = df.drop_duplicates()

如果您不能让drop_duplicates工作,您可以使用numpy.unique作为变通方法。

代码语言:javascript
复制
df['ORDER_ID'] = np.unique(df['ORDER_ID'])
df['ITEM_CODE'] = np.unique(df['ITEM_CODE'])   
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69886639

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档