我有一个数据框,其中的行名为:
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/