Numpy ऐरे में तत्वों को कैसे स्थानांतरित करें (उदाहरण के साथ)


आप NumPy सरणी के तत्वों को ऑफ़सेट करने के लिए निम्न विधियों में से किसी एक का उपयोग कर सकते हैं:

विधि 1: तत्वों को स्थानांतरित करें (सभी मूल तत्वों को रखें)

 #shift each element two positions to the right
data_new = np. roll (data, 2)

विधि 2: तत्वों को स्थानांतरित करें (तत्वों को प्रतिस्थापित करने की अनुमति दें)

 #define shifting function
def shift_elements (arr, num, fill_value):
    result = np. empty_like (arr)
    if num > 0:
        result[:num] = fill_value
        result[num:] = arr[:-num]
    elif num < 0:
        result[num:] = fill_value
        result[:num] = arr[-num:]
    else :
        result[:] = arr
    return result

#shift each element two positions to the right (replace shifted elements with zero)
data_new = shift_elements(data, 2, 0)

निम्नलिखित उदाहरण दिखाते हैं कि व्यवहार में प्रत्येक विधि का उपयोग कैसे करें।

विधि 1: तत्वों को स्थानांतरित करें (सभी मूल तत्वों को रखें)

निम्नलिखित कोड दिखाता है कि NumPy सरणी के प्रत्येक तत्व को दो स्थितियों में दाईं ओर स्थानांतरित करने के लिए np.roll() फ़ंक्शन का उपयोग कैसे करें:

 import numpy as np

#create NumPy array
data = np. array ([1, 2, 3, 4, 5, 6])

#shift each element two positions to the right
data_new = np. roll (data, 2)

#view new NumPy array
data_new

array([5, 6, 1, 2, 3, 4])

ध्यान दें कि प्रत्येक तत्व को दो स्थानों पर दाईं ओर स्थानांतरित कर दिया गया है और सरणी के अंत में मौजूद तत्वों को बस आगे ले जाया गया है।

हम तत्वों को बाईं ओर स्थानांतरित करने के लिए np.roll() फ़ंक्शन में एक ऋणात्मक संख्या का भी उपयोग कर सकते हैं:

 import numpy as np

#create NumPy array
data = np. array ([1, 2, 3, 4, 5, 6])

#shift each element three positions to the left
data_new = np. roll (data, -3)

#view new NumPy array
data_new

array([4, 5, 6, 1, 2, 3])

विधि 2: तत्वों को स्थानांतरित करें (तत्वों को प्रतिस्थापित करने की अनुमति दें)

हम NumPy सरणी के तत्वों को स्थानांतरित करने के लिए एक कस्टम फ़ंक्शन को भी परिभाषित कर सकते हैं और स्थानांतरित तत्वों को एक निश्चित मान से प्रतिस्थापित करने की अनुमति दे सकते हैं।

उदाहरण के लिए, हम तत्वों को स्थानांतरित करने के लिए निम्नलिखित फ़ंक्शन को परिभाषित कर सकते हैं और सभी स्थानांतरित तत्वों को मान 0 से बदल सकते हैं:

 import numpy as np

#create NumPy array
data = np. array ([1, 2, 3, 4, 5, 6])

#define custom function to shift elements
def shift_elements (arr, num, fill_value):
    result = np. empty_like (arr)
    if num > 0:
        result[:num] = fill_value
        result[num:] = arr[:-num]
    elif num < 0:
        result[num:] = fill_value
        result[:num] = arr[-num:]
    else :
        result[:] = arr
    return result

#shift each element two positions to the right and replace shifted values with zero
data_new = shift_elements(data, 2, 0)

#view new NumPy array
data_new

array([0, 0, 1, 2, 3, 4])

हम तत्वों को बाईं ओर स्थानांतरित करने के लिए फ़ंक्शन में एक ऋणात्मक संख्या का भी उपयोग कर सकते हैं:

 import numpy as np

#create NumPy array
data = np. array ([1, 2, 3, 4, 5, 6])

#define custom function to shift elements
def shift_elements (arr, num, fill_value):
    result = np. empty_like (arr)
    if num > 0:
        result[:num] = fill_value
        result[num:] = arr[:-num]
    elif num < 0:
        result[num:] = fill_value
        result[:num] = arr[-num:]
    else :
        result[:] = arr
    return result

#shift each element three positions to the left and replace shifted values with 50
data_new = shift_elements(data, -3, 50)

#view new NumPy array
data_new

array([ 4, 5, 6, 50, 50, 50])

अतिरिक्त संसाधन

निम्नलिखित ट्यूटोरियल बताते हैं कि NumPy में अन्य सामान्य ऑपरेशन कैसे करें:

NumPy में तत्वों की घटनाओं की गणना कैसे करें
कॉलम के आधार पर NumPy सरणी को कैसे क्रमबद्ध करें
NumPy सरणी के मोड की गणना कैसे करें

एक टिप्पणी जोड़ने

आपका ईमेल पता प्रकाशित नहीं किया जाएगा. आवश्यक फ़ील्ड चिह्नित हैं *