在Pandas Python中应用Excel公式

nkhmeac6  于 2024-01-04  发布在  Python
关注(0)|答案(1)|浏览(163)

我有这张table:Table that i have turned into DataFrame我想应用以下Excel公式,但在Pandas中的新列中:“=IF(P2=“组织”;O2;IF(R2=“组织”;Q2;IF(T2=“组织”;S2;IF(V2=“组织”;U2;IF(X2=“组织”;W2; IF(Z2 =“组织”;Y2;IF(AB 2 =“组织”; AA 2;INDEX(AI:AI;ROW()-1 1))”
你能帮我吗?最好的问候,
我尝试了ffill()pandas函数,但我没有正确地操作它,

2wnc66cl

2wnc66cl1#

要使用Pandas实现您所描述的逻辑,您可以使用numpy.select函数应用多个条件并选择相应的值。以下是如何在新列中实现逻辑:#假设df是您的DataFrame,并且根据Excel公式命名列

# Adjust column names as needed

conditions = [
    (df['P'] == 'Organisation'), df['O'],
    (df['R'] == 'Organisation'), df['Q'],
    (df['T'] == 'Organisation'), df['S'],
    (df['V'] == 'Organisation'), df['U'],
    (df['X'] == 'Organisation'), df['W'],
    (df['Z'] == 'Organisation'), df['Y'],
    (df['AB'] == 'Organisation'), df['AA']
]

# The default value if none of the conditions are met
default_value = df['AI'].shift(1)

df['NewColumn'] = np.select(conditions, default_value, default=df['AI'])

字符串
此代码假定DataFrame的结构与Excel公式类似,列为'P'、' Q'、'R'、...、' AB '、' AI '。如果列名与实际DataFrame不同,请相应调整列名。

相关问题