pandas对混合整数字符串的object列运算生成新列的方法
解决方案
你可以直接用pd.to_numeric()的errors='coerce'参数实现需求,该参数会自动将无法转换为数值的内容转为NaN,仅保留可转换的数值做后续计算,核心代码如下:
import pandas as pd # 示例数据 df1 = pd.DataFrame({"Fruits":['apple','banana','mango','strawberry'], "P":['100','100VT','60VT','70'], "C":[1,2,3,4], "S":['A','A','A','A']}) # 生成P_new列 df1['P_new'] = pd.to_numeric(df1['P'], errors='coerce') - 50
运行后得到的P_new列完全符合要求:纯数字字符串对应的行返回减法结果,带非数字字符的行返回NaN。
内容的提问来源于stack exchange,提问作者Shirin
相关产品推荐
相关产品推荐

