我有一个熊猫数据框,如下所示。此DF包含重要信息,但有许多不必要的行。
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 nanrX包含从左到右的值,而rY包含从右到左的值。在列R中,这些值连接在一起,而数字被省略。
有些行包含部分信息,可以轻松删除。但是,我不能通过DF.dropna(thresh=2)或类似的方法删除它们,因为我丢失了其他(重要)行,比如表中的最后一行。我想有一个类似于DF_New的DataFrame
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)和删除行,但我所做的一切只会让这个表变得更糟。有什么想法吗?
发布于 2018-08-13 22:42:46
从你想要的输出中很难重建你想要的逻辑,但这似乎就是你想要的
DF_Old= DF_Old.replace(np.nan, 'nan', regex=True)
DF_Old.groupby(['tID', 'word'])['rX'].apply(list)或
DF_Old(['tID', 'word'])[['rX', 'rY']].agg(lambda x : ','.join(x.unique()))https://stackoverflow.com/questions/51824486
复制相似问题