熊猫检查多个条件

时间:2020-02-14 11:08:27

标签: python pandas dataframe

我有一个小的excel文件,其中包含我们在线商店的价格,并且我正在尝试使这一过程自动化,但是,我不完全相信这些东西可以正确地对数据进行限定,因此我想使用Pandas快速检查在某些领域,到目前为止,我已经设法实现了我需要的一切。但是,我只是一个初学者,我无法考虑下一部分的正确方法。

因此,基本上我需要在同一行上限定2列,我们有一列MARGIN,如果此列> 60,则需要检查是否在同一行的MARKDOWN列中填充了==是。

所以我的问题是,我该如何编码,基本上可以说-

下面是我进行其他检查的方式的一个示例,我意识到它相当初学者,但我只是一个初学者。

sku2 = df['SKU_2']
comp_at = df['COMPARE AT PRICE']
sales_price = df['SALES PRICE']
dni_act = df['DO NOT IMPORT - action']
dni_fur = df['DO NOT IMPORT - further details']
promo = df['PROMO']
replacement = df['REPLACEMENT']
go_live_date = df['go live date']
markdown = df['markdown']

# sales price not blank check
for item in sales_price:
    if pd.isna(item):
        with open('document.csv', 'a', newline="") as fd:
            writer = csv.writer(fd)
            writer.writerow(['It seems there is a blank sales price in here', str(file_name)])
            fd.close
            break

1 个答案:

答案 0 :(得分:0)

示例:

df = pd.DataFrame([
    ['a',1,2],
    ['b',3,4],
    ['a',5,6]],
    columns=['f1','f2','f3'])

# | represents or
print(df[(df['f1'] == 'a') & (df['f2'] > 1)])

输出:

  f1  f2  f3
2  a   5   6