【发布时间】:2019-04-12 02:06:46
【问题描述】:
我有一个像这个小例子这样的大文本文件:
小例子:
AAMP chr2 219130810 219134433 transcript
AAMP chr2 219132103 219134868 transcript
AARS chr16 70286198 70323446 transcript
AARS chr16 70287359 70292118 transcript
AARS chr16 70286198 70323446 transcript
AAMP chr2 219130810 219134433 transcript
AARS2 chr6 44267391 44281063 transcript
我想根据 3 列 (columns 2, 3 and 4) 对行进行分组。事实上,如果columns 2, 3 and 4 中的两行或多行具有相同的值,我只想得到其中一行。对于这个小例子,预期的输出如下所示:
AAMP chr2 219130810 219134433 transcript
AAMP chr2 219132103 219134868 transcript
AARS chr16 70286198 70323446 transcript
AARS chr16 70287359 70292118 transcript
AARS2 chr6 44267391 44281063 transcript
我正在尝试使用pandas 在python 中执行此操作。如下:
data = pd.read_csv("myfile")
df = pd.DataFrame(data)
res = df.groupby([0, 1, 2])
res.to_csv('outfile.txt', index=False)
但它不会返回正确的结果。你知道怎么解决吗?
【问题讨论】:
-
为什么输出中有最后一行?
-
@mad_ - 我认为绝对不是。
-
@jezrael 在我看来是一样的。我看不出有逻辑上的区别。
-
subset参数到 drop_duplicats 是您所需要的 -
@mad_ - 很抱歉,我错了