为2列值Pandas应用loc

时间:2018-01-24 13:17:57

标签: python pandas loc

我想找到一个包含2列参数的数据帧: 如果我paises_cpm = df.loc[a]工作正常,但如果我paises_cpm = df.loc[a,b]我收到错误:IndexingError: Unalignable boolean Series provided as indexer (index of the boolean Series and of the indexed object do not match

import pandas as pd
import time


fecha = time.strftime(str((int(time.strftime("%d")))-1))

subastas = int(fecha) * 5000
impresiones = int(fecha) * 1000

df = pd.read_csv('Cliente_x_Pais.csv')
a = df['Subastas'] > subastas
b = df['Impresiones_exchange'] > impresiones


paises_cpm = df.loc[a,b]

paises_cpm.to_csv('paises_cpm.csv', index=False)

1 个答案:

答案 0 :(得分:4)

您需要|的{​​{1}}或or &的链条件:

and

或者:

paises_cpm = df.loc[a | b]

可能有一行解决方案,但括号是必要的:

paises_cpm = df.loc[a & b]