繁体   English   中英

基于行条件在 Pandas 数据框中删除列

[英]Drop Column in Pandas Dataframe based on Row Conidtion

我有以下熊猫数据框,我想删除“贸易”行中任何具有 0-Flat 的列。 我该怎么做呢?

在此处输入图像描述

这应该做的工作

headers_to_drop=[header for header in df.columns if (df[header]=="0-Flat").any()]
df=df.drop(headers_to_drop,axis=1)

代码首先遍历所有列并检查是否有包含字符串的列并删除选定的列。

您可以在dropna()旁边使用replace来查看整个 df 并删除包含 0-Flat 字符串的所有列

import numpy as np
import pandas as pd

df = pd.DataFrame({
    'Column1' : ['1', '2', '3', '0-Flat'],
    'Column2' : ['1', '2', '3', '4'],
    'Column3' : ['1', '2', '0-Flat', '0']
})

df.replace('0-Flat', np.nan).dropna(axis = 1)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM