Python DataFrame新增列:基于数据类型进行赋值
本文介绍如何根据DataFrame中列的数据类型,为DataFrame添加新列。 假设有两个列“A列”和“B列”,我们需要判断每一行的对应数据是否均为整数类型(int)。如果是,则在新列中赋值为“OK”,否则赋值为“NO”。
直接使用isinstance()
函数于Series对象会失败。正确的做法是使用apply()
方法结合lambda
函数:
df['判断'] = df.apply(lambda x: 'OK' if isinstance(x['A列'], int) and isinstance(x['B列'], int) else 'NO', axis=1)
apply()
方法逐行处理DataFrame,lambda
函数则对每一行进行判断。isinstance(x['A列'], int)
和isinstance(x['B列'], int)
分别检查“A列”和“B列”的数据类型是否为整数。只有当两列数据均为整数时,lambda
函数才返回“OK”,否则返回“NO”。 axis=1
参数指定apply()
方法按行处理。
通过这种方法,可以高效地根据列数据类型为DataFrame新增列,实现更复杂的逻辑判断和数据处理。