且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

pandas ,将数据框中的所有数值乘以一个常数

更新时间:2023-02-09 20:36:04

您可以使用 select_dtypes()包括 number dtype或排除对象的所有列 datetime64 dtypes:

you can use select_dtypes() including number dtype or excluding all columns of object and datetime64 dtypes:

Demo:

In [162]: df
Out[162]:
  col1  col2  col3       date
0    A     1    30 2016-01-01
1    B     2    10 2016-01-02
2    C     3    20 2016-01-03

In [163]: df.dtypes
Out[163]:
col1            object
col2             int64
col3             int64
date    datetime64[ns]
dtype: object

In [164]: df.select_dtypes(exclude=['object', 'datetime']) * 3
Out[164]:
   col2  col3
0     3    90
1     6    30
2     9    60

或更好的解决方案(c) ayhan

or a much better solution (c) ayhan:

df[df.select_dtypes(include=['number']).columns] *= 3

来自文档


要选择所有数字类型,请使用numpy dtype numpy.number

To select all numeric types use the numpy dtype numpy.number