x = {“输入”:'A','B ','B','B ','B','B ','B','B ','C','B ','B','C ','B','B ','A','B ','C']}
df = pd.DataFrame(x)
DF
- “OUTPUT”列的计算条件 *
条件(1)如果输入值A,则输出A
条件(2)如果输入值C,则输出C
条件(3.i)如果输入值B和B出现在C之后,则输出C
条件(3.ii)如果输入值B和B出现在A之后,则输出A
x1c 0d1x的数据
cond_output = ((df["INPUT"] == "A"),
(df["INPUT"] == "C"),
((df["INPUT"] == "B") & (df["OUTPUT"].shift(1, fill_value="A") == "A")),
((df["INPUT"] == "B") & (df["OUTPUT"].shift(1, fill_value="A") == "C")))
choice_output = ("A", "C", "A", "C")
df["OUTPUT"] = np.select(cond_output, choice_output)
df
# KeyError: 'OUTPUT'
字符串
1条答案
按热度按时间qni6mghb1#
使用
mask
隐藏具有“B”然后ffill
最后一个有效值的行:字符串
或者使用
where
来保留包含“A”或“B”的行:型