为2列值Pandas应用loc

2024-10-01 22:40:08 发布

您现在位置:Python中文网/ 问答频道 /正文

我将绑定到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)

Tags: ofcsvtheimportdfindextimeas
1条回答
网友
1楼 · 发布于 2024-10-01 22:40:08

您需要|表示or或{}表示{}的链式条件:

paises_cpm = df.loc[a | b]

或者:

^{pr2}$

可能有一行解决方案,但需要括号:

paises_cpm = df.loc[(df['Subastas'] > subastas) | 
                    (df['Impresiones_exchange'] > impresiones)
                   ]

相关问题 更多 >

    热门问题