pandas - 检查数据框中的列是否为整数,并执行操作

标签 pandas

检查dataframe中的某列是否为整数,如果是整数,则必须乘以10

import numpy as np
import pandas as pd
df = pd.dataframe(....)    
#function to check and multiply if a column is integer
def xtimes(x): 
  for col in x:
    if type(x[col]) == np.int64:
        return x[col]*10
    else:
        return x[col]
#using apply to apply that function on df
df.apply(xtimes).head(10)

我收到这样的错误 ('GP', 'occurred at index school')

最佳答案

您可以使用 select_dtypes得到数字列,然后相乘。

In [1284]: df[df.select_dtypes(include=['int', 'int64', np.number]).columns] *= 10

您可以拥有 include=[... np.int64, ..., etc] 的特定检查 list 。

关于pandas - 检查数据框中的列是否为整数,并执行操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45110412/

相关文章:

python - 删除多索引和自动重命名列

python - Pandas 比较一个 DataFrame 和一个 ground truth DataFrame

python - Pandas DataFrame 的多个列表

python - Pandas :在一系列可用值之前/之后估算给定数量的缺失值

python - 创建一天中的时间直方图

python - Pandas :使用 Groupby 滚动时间加权移动平均线

python - 可以将 pandas DataFrame 保存为 "append mode"中的二进制文件吗?

Python Pandas - 合并列表中每个项目的数据帧

python - 从 Pandas 的列中删除错误值

python - 在 Pandas 中分割聚合数据的更好方法?