有没有办法在熊猫柱之间进行条件减法?

时间:2019-05-21 20:53:42

标签: python pandas

我想在熊猫的两列之间进行条件减法。但是我不确定该怎么做。

我有一个看起来像这样的数据框:

describe=df.X1.describe()
col=df.X1
faktor=10
qabs=abs(describe[6]-describe[4])
q1=describe[4]-qabs*faktor
q3=describe[6]+qabs*faktor
under=col[(col)<q1]
above=col[(col)>q3]
print(col[(col)<q1])
print(col[(col)>q3])

我想了解“审计纪元”与“创建DT”之间的区别

import pandas as pd
df = pd.DataFrame({
    'CREATED_DT_DTTM_EPOCH': [
        1483302261,
        1483305054,
        1483357692,
        1483385453,
        1483391215
    ],
    'Audit_Epoch': [0, 1483383670, 0, 0, 0]
})

但是,如果审计纪元中的值为0,我希望它返回创建的dt的相同值。因此,我想在audit_epoch中检查0,如果其为0,则返回created_dt_epoch值。 因此,它是这样的:

df['Difference'] = df['Audit_Epoch'] - df['CREATED_DT_DTTM_EPOCH']

1 个答案:

答案 0 :(得分:1)

如果df['CREATED_DT_DTTM_EPOCH']始终小于df['Audit_Epoch'],则可以

df['Difference'] = (df['Audit_Epoch'] - df['CREATED_DT_DTTM_EPOCH']).abs()

或者通常,您可以

df['Difference'] = df['CREATED_DT_DTTM_EPOCH']
df.loc[df['Audit_Epoch'].ne(0), 'Difference'] = df['Audit_Epoch'] - df['CREATED_DT_DTTM_EPOCH']