Pandalar: np.where() eşdeğeri nasıl kullanılır?
Bir NumPy dizisinin değerlerini if-else mantığını kullanarak hızlı bir şekilde güncellemek için NumPy Where() fonksiyonunu kullanabilirsiniz.
Örneğin aşağıdaki kod, belirli bir koşulu karşılayan bir NumPy dizisindeki değerlerin nasıl güncelleneceğini gösterir:
import numpy as np #create NumPy array of values x = np. array ([1, 3, 3, 6, 7, 9]) #update valuesin array based on condition x = np. where ((x < 5) | (x > 8), x/2, x) #view updated array x array([0.5, 1.5, 1.5, 6. , 7. , 4.5])
Tabloda verilen bir değer 5’ten küçük veya 8’den büyükse değeri 2’ye böleriz.
Aksi takdirde değeri değiştirmeden bırakırız.
Benzer bir işlemi pandas DataFrame’de pandaswhere() işlevini kullanarak gerçekleştirebiliriz, ancak sözdizimi biraz farklıdır.
NumPywhere() işlevini kullanan temel sözdizimi aşağıda verilmiştir:
x = np. where (condition, value_if_true, value_if_false)
Pandaswhere() işlevini kullanan temel sözdizimi aşağıda verilmiştir:
df[' col '] = (value_if_false). where (condition, value_if_true)
Aşağıdaki örnek pandaswhere() fonksiyonunun pratikte nasıl kullanılacağını göstermektedir.
Örnek: Pandalar’daki np.where() eşdeğeri
Aşağıdaki pandalara sahip olduğumuzu varsayalım DataFrame:
import pandas as pd
#createDataFrame
df = pd. DataFrame ({' A ': [18, 22, 19, 14, 14, 11, 20, 28],
' B ': [5, 7, 7, 9, 12, 9, 9, 4]})
#view DataFrame
print (df)
AB
0 18 5
1 22 7
2 19 7
3 14 9
4 14 12
5 11 9
6 20 9
7 28 4
A sütunundaki değerleri belirli bir koşula göre güncellemek için aşağıdaki pandaswhere() fonksiyonunu kullanabiliriz:
#update values in column A based on condition
df[' A '] = (df[' A '] / 2). where (df[' A '] < 20, df[' A '] * 2)
#view updated DataFrame
print (df)
AB
0 9.0 5
1 44.0 7
2 9.5 7
3 7.0 9
4 7.0 12
5 5.5 9
6 40.0 9
7 56.0 4
A sütununda verilen bir değer 20’den küçükse değeri 2 ile çarptık.
Aksi takdirde değeri 2’ye böldük.
Ek kaynaklar
Aşağıdaki eğitimlerde pandalarda diğer yaygın işlemlerin nasıl gerçekleştirileceği açıklanmaktadır:
Pandalar: Koşullu bir sütundaki değerler nasıl sayılır?
Pandalar: Koşula göre DataFrame’deki satırlar nasıl silinir
Pandalar: bir sütundaki değerlerin duruma göre nasıl değiştirileceği