Pandas DataFrame 条件赋值:根据多个条件设置字段值
您可以使用numpy.where()函数来根据条件在DataFrame中创建新的列。\n\n以下是实现您要求的代码示例:\n\npython\nimport pandas as pd\nimport numpy as np\n\n# 创建示例DataFrame\ndf = pd.DataFrame({'a': [1, 2, 3, 4, 5], 'b': [0, 0, 0, 0, 0], 'c': [1, 2, 3, 4, 5], 'd': [5, 4, 3, 2, 1]})\n\n# 根据条件更新b字段的值\ndf['b'] = np.where(df['a'] == 3, 0, np.where(df['c'] > df['d'], 1, 0))\n\nprint(df)\n\n\n输出结果为:\n\n\n a b c d\n0 1 0 1 5\n1 2 0 2 4\n2 3 0 3 3\n3 4 1 4 2\n4 5 1 5 1\n\n\n在这个示例中,通过嵌套使用np.where()函数来实现多个条件判断,根据不同的条件更新b字段的值。如果a字段等于3,则b字段的值为0;否则,如果c字段大于d字段,则b字段的值为1;否则,b字段的值为0。
原文地址: https://www.cveoy.top/t/topic/p4B3 著作权归作者所有。请勿转载和采集!