python - 如何根据标题值删除列?
问题描述
我正在尝试根据其列标题删除列。我想使用 for 循环和 if 条件。日期范围是从 1850 到 2100。下面是我的数据框 df 的示例
Indicator Code 1970 1971 1972 1973 1974 1975 1976 1977 1978 1979 1980
DTFTS x x x x x x x x x x x
DTHUYZ x x x x x x x x x x x
YHTS x x x x x x x x x x x
例如,我想使用 for 和 if 保留从 1980 年到 1990 年的列。这是我尝试过的,但它不起作用:
columns_to_keep = list(range(1980,1990))
for columns in df :
if df[~df.columns.isin(columns_to_keep)] :
df.drop(columns)
有什么建议可以帮助我吗?
谢谢!
解决方案
让我知道这段代码是否有效:
columns_to_keep = list(range(1980,1990))
for column in df.columns:
if int(column) not in columns_to_keep:
df.drop(column,axis=1,inplace=True)
推荐阅读
- c++ - 在C ++中连接两个字符串中用逗号分隔的唯一值
- python - Python exe 和 cplex .dll
- ios - 如何获取刚刚从 NSManagedObject 创建的值
- google-maps - Flutter 中的 Google Maps 相机位置更新问题
- ios - 新视图控制器与使用 .isHidden = true 隐藏文本字段
- arrays - 将垂直切片插入数组
- android - 使用 rxandroid 和 mvvm 设计模式时出现 NetworkOnMainThreadException
- arrays - 查找较低值的最大值,除了 0
- firebase - Firebase SDK 安装问题 Flutter
- c# - Json.NET 没有正确反序列化 System.Range 属性