首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Pandas中分组和删除不必要的行

在Pandas中分组和删除不必要的行
EN

Stack Overflow用户
提问于 2018-08-13 22:17:22
回答 1查看 62关注 0票数 0

我有一个熊猫数据框,如下所示。此DF包含重要信息,但有许多不必要的行。

代码语言:javascript
复制
DF_Old =

id    tID       word   rX     rY     R
52    6         X      L-18   nan    L
52    6         X      L-12   nan    L
52    6         X      L-10   nan    L
52    7         A      N      N      nan
52    8         B      W-7    O-6    W,O
52    8         B      W-7    nan    W
52    8         B      nan    O-6    O
52    8         B      nan    nan    nan
52    8         C      W-7    O-6    W,O
52    8         C      W-7    nan    W
52    8         C      nan    O-6    O
52    8         C      nan    nan    nan
52    9         D      nan    nan    nan

rX包含从左到右的值,而rY包含从右到左的值。在列R中,这些值连接在一起,而数字被省略。

有些行包含部分信息,可以轻松删除。但是,我不能通过DF.dropna(thresh=2)或类似的方法删除它们,因为我丢失了其他(重要)行,比如表中的最后一行。我想有一个类似于DF_New的DataFrame

代码语言:javascript
复制
DF_New =

id    tID       word   r                  R
52    6         X      L-18, L-12, L-10   L
52    7         A      N                  N
52    8         B      W-7, O-6           W,O
52    8         C      W-7, O-6           W,O
52    9         D      N                  N

我认为需要某种类型的合并(比如DF.groupby)和删除行,但我所做的一切只会让这个表变得更糟。有什么想法吗?

EN

回答 1

Stack Overflow用户

发布于 2018-08-13 22:42:46

从你想要的输出中很难重建你想要的逻辑,但这似乎就是你想要的

代码语言:javascript
复制
DF_Old= DF_Old.replace(np.nan, 'nan', regex=True)

DF_Old.groupby(['tID', 'word'])['rX'].apply(list)

代码语言:javascript
复制
DF_Old(['tID', 'word'])[['rX', 'rY']].agg(lambda x : ','.join(x.unique()))
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51824486

复制
相关文章

相似问题

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