నమ్పీ అరేయస్ ఫిల్టరింగ్

అరేయా ఫిల్టరింగ్

ప్రస్తుత అరేయా నుండి కొన్ని అంశాలను తీసి కొత్త అరేయా ను సృష్టించడం అని పరిభాషించబడుతుంది (filtering).

NumPy లో మేము బౌల్ ఇండెక్స్ లిస్ట్ ఉపయోగిస్తాము అరేయాను ఫిల్టర్ చేయడానికి.

బౌల్ ఇండెక్స్ లిస్ట్ అరేయా లో ఇండెక్స్ పై సంభందించిన బౌల్ విలువల జాబితా ఉంటుంది.

అని అంటే ఇండెక్స్ వద్ద విలువ ఉన్నట్లయితే Trueఅని అంటే ఆ అంశం ఫిల్టర్ చేసిన అరేయా లో ఉంటుంది; ఇండెక్స్ వద్ద విలువ ఉన్నట్లయితే Falseఅని అంటే ఆ అంశం ఫిల్టర్ చేసిన అరేయా నుండి తీసివేయబడుతుంది.

ఉదాహరణ

ఇండెక్స్ 0 మరియు 2, 4 పై ఉన్న అంశాలతో ఒక అరేయాను సృష్టించండి:

import numpy as np
arr = np.array([61, 62, 63, 64, 65])
x = [True, False, True, False, True]
newarr = arr[x]
print(newarr)

ఉదాహరణను నడుపుము

పై ఉదాహరణ మాత్రమే రాబడించబడుతుంది [61, 63, 65]ఎందుకు?

కారణం కొత్త ఫిల్టర్ అరేయా మాత్రమే ఫిల్టర్ అరేయా విలువలను కలిగి ఉంటుంది True విలువలను, ఈ పరిస్థితిలో ఇండెక్స్ 0 మరియు 2, 4 విషయంగా ఉన్నాయి.

ఫిల్టర్ అరేయా ను సృష్టించడానికి

పై ఉదాహరణలో మేము True మరియు False విలువ హార్డ్ కోడ్ చేయబడింది, కానీ సాధారణంగా ఫిల్టర్ అరేయా ను కన్నా పరిస్థితిని ఆధారంగా సృష్టించడం ఉపయోగపడుతుంది.

ఉదాహరణ

创建一个仅返回大于 62 的值的过滤器数组:

import numpy as np
arr = np.array([61, 62, 63, 64, 65])
# 创建一个空列表
filter_arr = []
# 遍历 arr 中的每个元素
for element in arr:
  # అని అంటే ఎలిమెంట్ 62 కంటే పెద్దది అయితే విలువను True గా సెట్ చేయండి, లేకపోతే False గా సెట్ చేయండి:
  if element > 62:
    filter_arr.append(True)
  else:
    filter_arr.append(False)
newarr = arr[filter_arr]
print(filter_arr)
print(newarr)

ఉదాహరణను నడుపుము

ఉదాహరణ

ఒక ఫిల్టర్ ప్రాణికాన్ని సృష్టించండి, దానిలో మూల ప్రాణికానికి వినియోగించబడిన అంకెలు లేవు కాదు అనే పరిస్థితిలో ప్రతిపాదించబడిన ప్రాణికాన్ని తిరిగి ప్రదర్శించండి:

import numpy as np
arr = np.array([1, 2, 3, 4, 5, 6, 7])
# 创建一个空列表
filter_arr = []
# 遍历 arr 中的每个元素
for element in arr:
  # 如果元素可以被 2 整除,则将值设置为 True,否则设置为 False
  if element % 2 == 0:
    filter_arr.append(True)
  else:
    filter_arr.append(False)
newarr = arr[filter_arr]
print(filter_arr)
print(newarr)

ఉదాహరణను నడుపుము

直接从数组创建过滤器

上例是 NumPy 中非常常见的任务,NumPy 提供了解决该问题的好方法。

我们可以在条件中直接替换数组而不是 iterable 变量,它会如我们期望地那样工作。

ఉదాహరణ

创建一个仅返回大于 62 的值的过滤器数组:

import numpy as np
arr = np.array([61, 62, 63, 64, 65])
filter_arr = arr > 62
newarr = arr[filter_arr]
print(filter_arr)
print(newarr)

ఉదాహరణను నడుపుము

ఉదాహరణ

ఒక ఫిల్టర్ ప్రాణికాన్ని సృష్టించండి, దానిలో మూల ప్రాణికానికి వినియోగించబడిన అంకెలు లేవు కాదు అనే పరిస్థితిలో ప్రతిపాదించబడిన ప్రాణికాన్ని తిరిగి ప్రదర్శించండి:

import numpy as np
arr = np.array([1, 2, 3, 4, 5, 6, 7])
filter_arr = arr % 2 == 0
newarr = arr[filter_arr]
print(filter_arr)
print(newarr)

ఉదాహరణను నడుపుము