Как поделить элементы списка на два других списка по условию?
Как сделать так, чтобы элементы списка со значениями <40 и >60, и >60 и <40, оказались в двух разных списках?
reviews_values = [
[68,18], [81,19], [81,22], [15,75], [75,15], [17,72],
[24,75], [21,91], [76, 6], [12,74], [18,83], [20,62],
[21,82], [21,79], [84,15], [73,16], [88,25], [78,23],
[32, 81], [77, 35]]
reviews = pd.DataFrame(reviews_values, columns=['Цена', 'Качество'])
clients_1 = []
clients_2 = []
for client in list(reviews.values):
Я понимаю, что могу обратиться к элементу списка list(reviews.values)[0][1], но я не соображу, как воспользоваться этим в цикле.
Ответы (2 шт):
Автор решения: Andrii Shyrokov
→ Ссылка
reviews_values = [
[68,18], [81,19], [81,22], [15,75], [75,15], [17,72],
[24,75], [21,91], [76, 6], [12,74], [18,83], [20,62],
[21,82], [21,79], [84,15], [73,16], [88,25], [78,23],
[32, 81], [77, 35]]
clients_1 = []
clients_2 = []
for client in reviews_values:
if client[0] > 60 and client[1] < 40:
clients_1.append(client)
else:
clients_2.append(client)
print('Data 1: ', clients_1)
print('Data 2: ', clients_2)
Вывод:
Data 1: [[68, 18], [81, 19], [81, 22], [75, 15], [76, 6], [84, 15], [73, 16], [88, 25], [78, 23], [77, 35]]
Data 2: [[15, 75], [17, 72], [24, 75], [21, 91], [12, 74], [18, 83], [20, 62], [21, 82], [21, 79], [32, 81]]
Автор решения: MaxU
→ Ссылка
In [11]: qry1 = "Цена > 60 and Качество < 40"
In [12]: qry2 = "not (Цена > 60 and Качество < 40)"
In [13]: reviews.query(qry1)
Out[13]:
Цена Качество
0 68 18
1 81 19
2 81 22
4 75 15
8 76 6
14 84 15
15 73 16
16 88 25
17 78 23
19 77 35
In [14]: reviews.query(qry2)
Out[14]:
Цена Качество
3 15 75
5 17 72
6 24 75
7 21 91
9 12 74
10 18 83
11 20 62
12 21 82
13 21 79
18 32 81