Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 263607
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 11, 20262026-05-11T22:36:58+00:00 2026-05-11T22:36:58+00:00

I am new to Python and Numpy, and I am facing a problem, that

  • 0

I am new to Python and Numpy, and I am facing a problem, that I can not modify a numpy.recarray, when applying to masked views. I read recarray from a file, then create two masked views, then try to modify the values in for loop. Here is an example code.

import numpy as np
import matplotlib.mlab as mlab


dat = mlab.csv2rec(args[0], delimiter=' ')
m_Obsr = dat.is_observed == 1
m_ZeroScale = dat[m_Obsr].scale_mean < 0.01


for d in dat[m_Obsr][m_ZeroScale]:
    d.scale_mean = 1.0

But when I print the result

newFile = args[0] + ".no-zero-scale"

mlab.rec2csv(dat[m_Obsr][m_ZeroScale], newFile, delimiter=' ')

All the scale_means in the files, are still zero.

I must be doing something wrong. Is there a proper way of modifying values of the
view? Is it because I am applying two views one by one?

Thank you.

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-11T22:36:58+00:00Added an answer on May 11, 2026 at 10:36 pm

    I think you have a misconception in this term “masked views” and should (re-)read The Book (now freely downloadable) to clarify your understanding.

    I quote from section 3.4.2:

    Advanced selection is triggered when
    the selection object, obj, is a
    non-tuple sequence object, an ndarray
    (of data type integer or bool), or a
    tuple with at least one sequence
    object or ndarray (of data type
    integer or bool). There are two types
    of advanced indexing: integer and
    Boolean. Advanced selection always
    returns a copy of the data (contrast
    with basic slicing that returns a
    view).

    What you’re doing here is advanced selection (of the Boolean kind) so you’re getting a copy and never binding it anywhere — you make your changes on the copy and then just let it go away, then write a new fresh copy from the original.

    Once you understand the issue the solution should be simple: make your copy once, make your changes on that copy, and write that same copy. I.e.:

    dat = mlab.csv2rec(args[0], delimiter=' ')
    m_Obsr = dat.is_observed == 1
    m_ZeroScale = dat[m_Obsr].scale_mean < 0.01
    the_copy = dat[m_Obsr][m_ZeroScale]
    
    for d in the_copy:
        d.scale_mean = 1.0
    
    newFile = args[0] + ".no-zero-scale"
    mlab.rec2csv(the_copy, newFile, delimiter=' ')
    
    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Ask A Question

Stats

  • Questions 122k
  • Answers 122k
  • Best Answers 0
  • User 1
  • Popular
  • Answers
  • Editorial Team

    How to approach applying for a job at a company ...

    • 7 Answers
  • Editorial Team

    How to handle personal stress caused by utterly incompetent and ...

    • 5 Answers
  • Editorial Team

    What is a programmer’s life like?

    • 5 Answers
  • Editorial Team
    Editorial Team added an answer The Drip and IE Sieve leak detectors help web developers… May 12, 2026 at 12:36 am
  • Editorial Team
    Editorial Team added an answer Recommended way ... LOGGER = Object.new() def LOGGER.method_missing( name, args… May 12, 2026 at 12:36 am
  • Editorial Team
    Editorial Team added an answer George, The answer is no. Actually, some sort of indexing… May 12, 2026 at 12:36 am

Related Questions

Audio processing is pretty new for me. And currently using Python Numpy for processing
I am new to python and struggling to find how to control the amount
I am new to python and am writing some scripts to automate downloading files
I am new to Python and it seems to have a lot of nice
(I am new to Python and Google App Engine, please forgive me if my

Trending Tags

analytics british company computer developers django employee employer english facebook french google interview javascript language life php programmer programs salary

Top Members

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.