pandas - 如何只裁剪一列数据框

标签 pandas

我有一个由3列组成的 Pandas 数据框:从[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)

关于pandas - 如何只裁剪一列数据框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55469020/

相关文章:

python - 两个 itertools 生成器的组合

python - python 中缺失值的统计

python - 什么时候使用 df.value_counts() 与 df.groupby ('...' ).count() 比较合适?

python - 如何生成一个新的 Pandas 数据框,将一些行压缩到新列中?

python - 根据条件设置 Pandas 造型

python - 对数据框中特定列的重复行求和

python - Pandas 合并无法提取公共(public)索引值

python - Pandas:重复的列,无法删除它们

python - 在并发进程池期间从磁盘读取 pandas

python - 将 pandas 选定的列转换为 2D numpy 数组