如何筛选DataFrame中首行值为0的列生成新DataFrame
实现方案
核心逻辑
首先提取DataFrame的第一行生成布尔判断条件,筛选出符合第一行值为0的列,再对原DataFrame做列索引即可得到结果。
代码实现
import pandas as pd # 构造示例数据(实际使用时替换为你自己的df即可) df = pd.DataFrame({ 'a': [1, 2, 3], 'b': [0, 7, 5], 'c': [3, 2, 2], 'd': [0, 2, 1] }) # 核心筛选代码 new_df = df.loc[:, df.iloc[0] == 0]
语法说明
df.iloc[0]按位置取DataFrame的第一行,返回带列名的Series对象df.iloc[0] == 0生成布尔掩码序列,第一行值为0的对应列位置为True,其余为Falsedf.loc[:, 布尔掩码]中:表示保留所有行,后跟的布尔掩码指定保留的列,最终输出符合要求的新DataFrame
运行后输出的new_df结果如下:
b d 0 0 0 1 7 2 2 5 1
内容的提问来源于stack exchange,提问作者ZetDen
相关产品推荐
相关产品推荐

