Это часть или часть моей попытки захватить значения из df. То, что я хотел бы сделать, это получить значения, когда первая часть условия имеет значение true, а если нет, возьмите значения из второй части условия. Похоже, что это не происходит, поскольку порядок, похоже, не влияет на изменения моего df.поведение или условие в boolean indexing pandas
(df[colA] == row[colA]-1) | (df[colA] == row[colA]-2)
Что на самом деле происходит и есть способ получить информацию, которую я хочу?
Редактировать: Условие или является одним из нескольких булевых условий и частью большей функции. Но столбец A иллюстрирует мою проблему. Мне нужно вернуться назад, и если нет A, который соответствует минус 1, получите значения от двух назад. Я использовал один и тот же код и функцию для захвата значений одной строки назад, и он отлично работает, когда нет пробелов.
A B
1 x
2 y
3 z
5 aa
6 bb
Вот лучший пример. Это будет похоже на массив, который я использую для получения значений для функции, которая изменяет df. Я не могу понять,
а.), Как это определить, будет ли значения быть из одного или двух рядов перемещенных
б.), Как писать код, так что я могу по умолчанию один, когда истинны и идти только два ряда, когда один не является истинным
values=df_bkp[(df_bkp['B']==row['B'])&((df_bkp['A']==row['A']-1)|(df_bkp['A']==row['A']-2))][col].values
Я понимаю, где значения приходят от того, когда я делаю это:
values=df_bkp[(df_bkp['B']==row['B'])&(df_bkp['A']==row['A']-1)][col].values
Можете ли вы, пожалуйста, указать пример ввода и вывода? Трудно точно сказать, как это должно выглядеть. – Marius
У вас уже есть b): 'False или True' равно' True', 'True или False' равно' True' – hellpanderrr
@hellpanderrr - вы подразумеваете, что моя первая формула значений должна давать мне разные результаты в зависимости от того, на какой стороне я размещаю условия в заявлении или в заявлении? я получаю то же самое независимо от порядка: значения из строк, которые на 2 меньше, даже если есть значение из строки, которая меньше одной – user2891518