У меня есть CSV-файл, который я импортирую в виде списка
[["df['EPS Rating']>=97"],
["df['RS Rating']>=97"],
["df['Ind Group RS']<=9"],
["df['SMR Rating']<=2"],
["df['AD Rating']<=9"],
["df['Comp Rating']>=85"],
["df['Current Price']>=15"]]
Я бы хотел присвоить каждому из них переменные от c1 до c7 следующим образом
c1 = df['EPS Rating']>=97
c2 = df['RS Rating']>=97
c3 = df['Ind Group RS']<=9
c4 = df['SMR Rating']<=2
c5 = df['AD Rating']<=9
c6 = df['Comp Rating']>=85
c7 = df['Current Price']>=15
Это так что я могу использовать это отличное решение, которое нашел Gecko здесь , также показанное ниже. В то время как в моем случае это решение отлично подходит для чтения, оно оказывается огромным, поскольку у меня более 30 таких фильтров и многие из них имеют более 20 условий. Как я могу назначить строки в списке переменным?
что-то вроде этого может быть?
For i to end_of_list:
c[i] = [i].value
Надеюсь, это объясняет, что я пытаюсь сделать. Я новичок в python, поэтому я все еще немного растерялся. Я не привязан к этой идее, поэтому, если у кого-то есть лучшее решение, я бы хотел его узнать. Спасибо
Geckos Оригинальное решение:
import numpy as np
import functools
def conjunction(*conditions):
return functools.reduce(np.logical_and, conditions)
c_1 = data.col1 == True
c_2 = data.col2 < 64
c_3 = data.col3 != 4
data_filtered = data[conjunction(c1,c2,c3)]