如何将数据框中的所有数值乘以一个常量而不必明确指定列名?例子:
In [13]: df = pd.DataFrame({'col1': ['A','B','C'], 'col2':[1,2,3], 'col3': [30, 10,20]})
In [14]: df
Out[14]:
col1 col2 col3
0 A 1 30
1 B 2 10
2 C 3 20
我尝试了 df.multiply
但它也会通过多次连接字符串值来影响它们。
In [15]: df.multiply(3)
Out[15]:
col1 col2 col3
0 AAA 3 90
1 BBB 6 30
2 CCC 9 60
有没有办法在仅将数值乘以常数的同时保持字符串值不变?
原文由 CentAu 发布,翻译遵循 CC BY-SA 4.0 许可协议
您可以使用 select_dtypes() 包括
number
或排除object
和datetime64
dtypes 的所有列:演示:
或更好的解决方案(c) ayhan :
来自 文档: