pandas - 如何仅剪辑一列数据框
问题描述
我有一个由 3 列组成的熊猫数据框:从 [datetime64] 到 [datetime64],值 [float64]。我只想将“值”列剪辑为最大值。
df = dfo.clip(upper=100)
失败了TypeError: Cannot compare type 'Timestamp' with type 'int'
如何仅在数据框的列上进行剪辑?
解决方案
您可以指定列:
dfo['value'] = dfo['value'].clip(upper=100)
如果可能,多列:
cols = ['value', 'another col']
dfo[cols] = dfo[cols].clip(upper=100)
或者,如果需要剪辑所有数字列,则按以下方式过滤它们DataFrame.select_dtypes
:
cols = df.select_dtypes(np.number).columns
dfo[cols] = dfo[cols].clip(upper=100)
推荐阅读
- file-io - gfortran 中 INQUIRE(inpunit,flen=iflen) 中的语法错误,但在 Lahey 中没有
- c++ - C++中的数据流
- javascript - 如何将 JavaScript 事件侦听器添加到无序列表的第一个元素
- ssl - NGINX 反向代理的 Certbot/LetsEncrypt HTTPS 不起作用
- hadoop - 将文件加载到带有长文本列的配置单元中
- swift - 如何在 Swift 中播种 Int.random 方法调用?
- android - Android - 如何在工具栏按钮上实现这种阴影背景效果?
- java - Netty 发送 2 个数据包而不是 1 个
- mysql - 如何访问 MySQL 触发器中的“INSERTED”值?
- python - Python 更改了多个列表项,即使我要求它只更改一个