Как я могу перебирать столбцы в одном и том же кадре данных и получить пары диапазонов, в которых находится значение?Python

Программы на Python
Anonymous
Как я могу перебирать столбцы в одном и том же кадре данных и получить пары диапазонов, в которых находится значение?

Сообщение Anonymous »

Я новичок в пандах. Я хочу проверить, лежат ли мои значения цены между значениями столбцов P1 и P2, если нет, то я могу проверить между столбцами P2 и P3 и т. д.
Я не знаю, как мне это сделать. сделайте это в одном и том же фрейме данных.
Указан фрейм данных -

Код: Выделить всё

   Quantity  Price data1 data2   Q1     P1   Q2     P2    Q3      P3  ....
0       1.1  100.1     A     D  4.4  700.7  4.4  100.1  13.3  1300.3  ....
1       2.2  200.2     B     E  5.5  800.8  5.5  110.1  14.4  1400.4  ....
2       3.3  300.3     C     F  6.6  900.9  6.6  120.2  15.5  1500.5  ....
До сих пор я пытался разбить два фрейма данных с помощью df1 ['Количество','Цена'] и df2 ['Q1','P1',....]< /p>
и сравниваем вот так

Код: Выделить всё

for row in df1.itertuples():
for k in [1,i]: #where i has the last nth term of P
if df1["Price"].between(df2[f"P{str(k)}"],df2[f"P{str(k+1)}]):  #Error in this line
print("matched")

Отображение ValueError: истинное значение серии неоднозначно.
PS.
Изменить ожидаемый результат — я также изменил значение цены во второй строке для другого тестового примера.

Код: Выделить всё

    Quantity  Price data1 data2   Q1     P1   Q2     P2    Q3      P3  ....  output1    output2
0       1.1  100.1     A     D   4.4  700.7  4.4  100.1  13.3  1300.3  ....  4.4,700.7  4.4,100.1   #output1-Q1,P1  output2-Q2,P2 as Price lies between P1&P2
1       2.2  900.2     B     E   5.5  800.8  5.5  810.1  14.4  1400.4  ....  5.5,810.1  14.4,1400.4 #output1-Q2,P2  output2-Q3,P3 as Price lies between P2&P3 here
2       3.3  300.3     C     F   6.6  900.9  6.6  120.2  15.5  1500.5  ....  6.6,900.9  6.6,120.2   #output1-Q1,P1  output2-Q2,P2 as Price lies between P1&P2

Спасибо. Помощь будет оценена по достоинству.

Подробнее здесь: https://stackoverflow.com/questions/786 ... of-range-w

Вернуться в «Python»