我有一个数据行,其行名为:

rp021047.tot
rp021048.tot
rp021048.L00
rp021048.L01
rp021048.tot
rp021049.tot
rp021050.tot
rp022047.tot
rp022048.tot
rp022049.tot
rp022050.tot


主要兴趣点是以下几行:

rp021048.L00
rp021048.L01
rp021048.tot


这些行的名称完全相同,除了该点之后。对于这样的重复项,我希望仅保留以.L*结尾的文件,删除.tot行。

我正在努力想办法做到这一点。我真的很感激人们可能有的任何想法。谢谢

最佳答案

分割您的文件名,然后检查duplicated有条件



u = s.str.rsplit('.', 1, expand=True)
m = u.duplicated(0) & u[1].eq('tot')

s[~m]




0     rp021047.tot
1     rp021048.tot
2     rp021048.L00
3     rp021048.L01
5     rp021049.tot
6     rp021050.tot
7     rp022047.tot
8     rp022048.tot
9     rp022049.tot
10    rp022050.tot
dtype: object




在这里,行4被删除,因为它是重复的文件名,但是具有tot扩展名。

关于python - 如何根据数据框中的相似行(字符串)删除数据框的某些行,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/56739069/

10-12 20:07