python - 如何根据数据框中的相似行(字符串)删除数据框的某些行

标签 python string pandas dataframe

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

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/

相关文章:

android - “java.lang.String”在 Android 中已弃用

java - 4D阵列的问题

concat char* 与 char netbea

python - 当 np.nan 设置为默认值时,为什么 np.select 返回 'nan' 作为字符串而不是 np.nan?

python - 更新 `axvspan`的位置

python - 如何用 BeautifulSoup 连接两个 html 文件主体?

python - 了解集合的 python 对象成员资格

python - 基于来自 pandas/python 中多列的字符串对一列中的值求和

python - 使用前一行计算当前行的总和

pandas - 如何在多个 DataFrame 中删除行?