Python - pandas - 仅将数字单元格除以标量
Python - pandas - dividing only numerical cells by scalar
我有一个由数字列和非数字列组成的数据框(pandas 格式)。我只想将数字单元格除以标量,但如果不明确定义数字列,我找不到任何自动执行此操作的函数(因为数据框很大,我无法准确定义数字列)。我找到了 pd.divide,但它不起作用(我遇到以下错误:unsupported operand type(s) for /: 'str' and 'int')
您可以检查给定列的数据类型,但更灵活的选择是使用 try
检查它是否有效,否则跳过。所以你可以这样做:
for col in df:
try: df[col] /= scalar
except TypeError: pass
我有一个由数字列和非数字列组成的数据框(pandas 格式)。我只想将数字单元格除以标量,但如果不明确定义数字列,我找不到任何自动执行此操作的函数(因为数据框很大,我无法准确定义数字列)。我找到了 pd.divide,但它不起作用(我遇到以下错误:unsupported operand type(s) for /: 'str' and 'int')
您可以检查给定列的数据类型,但更灵活的选择是使用 try
检查它是否有效,否则跳过。所以你可以这样做:
for col in df:
try: df[col] /= scalar
except TypeError: pass