首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何只裁剪数据帧的一列

如何只裁剪数据帧的一列
EN

Stack Overflow用户
提问于 2019-04-02 15:19:26
回答 2查看 5K关注 0票数 11

我有一个由3列组成的pandas数据框架: from datetime64,to datetime64,value float64。我只想将" value“列裁剪为一个最大值。

df = dfo.clip(upper=100)

失败并返回TypeError: Cannot compare type 'Timestamp' with type 'int'

如何仅在数据帧的列上裁剪?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-04-02 15:20:19

您可以指定列:

代码语言:javascript
运行
复制
dfo['value'] = dfo['value'].clip(upper=100)

如果可能,多个列:

代码语言:javascript
运行
复制
cols = ['value', 'another col']
dfo[cols] = dfo[cols].clip(upper=100)

或者如果需要裁剪所有数值列,则按DataFrame.select_dtypes对其进行筛选

代码语言:javascript
运行
复制
cols = df.select_dtypes(np.number).columns
dfo[cols] = dfo[cols].clip(upper=100)
票数 16
EN

Stack Overflow用户

发布于 2021-02-10 12:49:22

您也可以使用inplace=True来避免赋值:

代码语言:javascript
运行
复制
dfo['value'].clip(upper=100, inplace=True)
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55469020

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档