如何按值删除Pandas特定行?保留cc列值为1和2的行
问题解答
关于“删除索引等于列索引的行”
首先得明确:行索引是DataFrame每行的唯一标识(比如你的示例里是0-5的整数),列索引是每列的名称(比如你的示例里是Non/Schzerando/cc),这俩属于不同维度的标识,没法直接对应“相等”的行。
如果是你表述有误,比如想删除行索引等于某一列值的行(比如有一列存了行号,要删掉行索引和该列值一致的行),那完全可以实现,举个例子:
# 假设df有一列叫row_id,要删除行索引等于row_id值的行 df = df[df.index != df['row_id']]
保留cc列值为1和2的行
针对你给出的示例DataFrame,用isin()方法做布尔索引就能快速实现需求:
import pandas as pd d = {'Non': [1, 2,4,5,2,7], 'Schzerando': [3, 4,8,4,7,7], 'cc': [1,2,0.75,0.25,0.3,1]} df = pd.DataFrame(data=d) # 筛选cc列值为1或2的行 filtered_df = df[df['cc'].isin([1, 2])] print(filtered_df)
运行后得到的结果就是你要的:
Non Schzerando cc 0 1 3 1.0 1 2 4 2.0 5 7 7 1.0
内容的提问来源于stack exchange,提问作者Megan
相关产品推荐
相关产品推荐

