让我们假设一个非常简单的示例:
import pandas as pd
import numpy as np
d = {'Col1': ['Yellow', 'Yellow', 'Cyan'], 'Col2': ['Cyan', 'Magenta', 'Magenta'], 'ColFin': ['', '', '']}
df = pd.DataFrame(data = d)
df['ColFin'] = np.where(((df['Col1'] == 'Yellow') & (df['Col2'] == 'Cyan')), 'Green', '')
df
如何管理多个条件,以便最终的df在ColFin的其余2行中也包含橙色和紫色?
基本上,我要在一组更复杂的数据上实现的等同于VBA中的Select Case。
预先感谢您的帮助!
答案 0 :(得分:0)
您可以使用“和”而不是“&”来比较多个条件。
因此可以将其更改为:
import pandas as pd
import numpy as np
d = {'Col1': ['Yellow', 'Yellow', 'Cyan'], 'Col2': ['Cyan', 'Magenta', 'Magenta'], 'ColFin': ['', '', '']}
df = pd.DataFrame(data = d)
df['ColFin'] = np.where((df['Col1'] == 'Yellow' and df['Col2'] == 'Cyan'), 'Green', ''
df