Numpy structured array unintuitive handling
- Dominant language
- Julia
- Stars
- 1.5k
- Forks
- 186
- PR merge metrics
- No merged PRs in 30d
Description
Hi,
Thank you for the great work on this package.
I have to deal with a [numpy structured array](https://docs.scipy.org/doc/numpy-1.15.0/user/basics.rec.html) variable that I've imported into Julia. I've called this variable `my_simulations`.
To see the different fields inside this variable, I can call `my_simulations[:dtype]` and I get
```PyObject dtype([('drugs', 'O'), ('Vms', 'O'), ('I_tots', 'O'), ('Ycs', 'O'), ('Cais', 'O'), ('Nais', 'O'), ('caSRs', 'O'), ('ts', 'O')])```.
The first element of each tuple in the list corresponds to the names of the keys (numpy calls them fields) in this variable.
In Python, you can access each key using `my_simulations['keyname']`, e.g. `my_simulations['Vms']`. I expected that in Julia you could access each key using `my_simulations["keyname"]`, e.g. `my_simulations["Vms"]`. But this doesn't work and I get the following error message
```ERROR: KeyError: key "Vms" not found```
The workaround I've found is to call `get(my_sims,"keyname")` e.g. `get(my_sims,"Vms")` which works. But the method `my_simulations["keyname"]` would be more intuitive and closer to the Python syntax.
Thank you!
My version of PyCall is v"1.18.5+".
Best,
Max
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.