我有一个熊猫数据框,其中一列包含物种名称,另一列包含其他信息(RNA 类型)。对于给定的物种名称,如果数据框的其他行中没有 RNA 类型信息,我想保留这一行(例如 Species2 下面的第 5 行),但如果其他行中有 RNA 类型信息,则删除具有 NaN 的行(例如,Species1 下面的第 4 行)。
样品 | 物种名称 | RNA_type |
---|---|---|
A1 | 物种1 | RNA1 |
A1 | 物种1 | RNA2 |
A1 | 物种1 | RNA3 |
A1 | 物种1 | NaN(删除) |
A1 | 物种2 | NaN(保留) |
可以吗?
答案 0 :(得分:0)
试试这个:
df = df[~((df["Species_name"].duplicated(keep=False))&(df["RNA_type"].isnull()))]