Title: Bug: unclear handling of arrays of different shape with to_arrays · Issue #1380 · datajoint/datajoint-python · GitHub
Open Graph Title: Bug: unclear handling of arrays of different shape with to_arrays · Issue #1380 · datajoint/datajoint-python
X Title: Bug: unclear handling of arrays of different shape with to_arrays · Issue #1380 · datajoint/datajoint-python
Description: Bug Report Description to_arrays() cannot combine arrays of different shape if they differ on 2. axis, but can handle different size arrays when they differ on 1. axis. Reproducibility import numpy as np import datajoint as dj dj.conn() ...
Open Graph Description: Bug Report Description to_arrays() cannot combine arrays of different shape if they differ on 2. axis, but can handle different size arrays when they differ on 1. axis. Reproducibility import numpy...
X Description: Bug Report Description to_arrays() cannot combine arrays of different shape if they differ on 2. axis, but can handle different size arrays when they differ on 1. axis. Reproducibility import numpy...
Opengraph URL: https://github.com/datajoint/datajoint-python/issues/1380
X: @github
Domain: github.com
{"@context":"https://schema.org","@type":"DiscussionForumPosting","headline":"Bug: unclear handling of arrays of different shape with to_arrays","articleBody":"## Bug Report\n\n### Description\nto_arrays() cannot combine arrays of different shape if they differ on 2. axis, but can handle different size arrays when they differ on 1. axis.\n \n### Reproducibility\n```\nimport numpy as np\nimport datajoint as dj\n\ndj.conn() # using datajoint.json\nschema = dj.Schema(\"TEST\")\n\n\n@schema\nclass RandomNumbers(dj.Manual):\n definition = \"\"\"\n idx: int32\n ---\n values1: \u003cblob\u003e\n values2: \u003cblob\u003e\n \"\"\"\nfor idx,seed in enumerate([42, 7, 123]):\n RandomNumbers.insert1(\n {\n \"idx\": idx,\n \"values1\": np.random.RandomState(seed).randn(100) if idx==0 else np.random.RandomState(seed).randn(100,idx), \n \"values2\": np.random.RandomState(seed).randn(100) if idx==0 else np.random.RandomState(seed).randn(idx,100),\n }\n )\n```\n\n```\nRandomNumbers.to_arrays('values2').shape # returns 3\n```\n```\nRandomNumbers.to_arrays('values1').shape # fails\n```\n\n```\n---------------------------------------------------------------------------\nValueError Traceback (most recent call last)\nFile ~/datajoint-python/src/datajoint/expression.py:859, in QueryExpression.to_arrays(self, include_key, order_by, limit, offset, squeeze, *attrs)\n 858 try:\n--\u003e 859 arr = np.array(values)\n 860 except ValueError:\n 861 # Variable-size data (e.g., arrays of different shapes)\n\nValueError: setting an array element with a sequence. The requested array has an inhomogeneous shape after 2 dimensions. The detected shape was (3, 100) + inhomogeneous part.\n\nDuring handling of the above exception, another exception occurred:\n\nValueError Traceback (most recent call last)\nCell In[17], line 1\n----\u003e 1 RandomNumbers.to_arrays('values1')\n\nFile ~/datajoint-python/src/datajoint/expression.py:862, in QueryExpression.to_arrays(self, include_key, order_by, limit, offset, squeeze, *attrs)\n 859 arr = np.array(values)\n 860 except ValueError:\n 861 # Variable-size data (e.g., arrays of different shapes)\n--\u003e 862 arr = np.array(values, dtype=object)\n 863 result_arrays.append(arr)\n 865 if include_key:\n\nValueError: could not broadcast input array from shape (100,1) into shape (100,)\n```\n### Expected Behavior\nIf arrays cannot be broadcast together, they should be stacked as is done with values2 in the example. \n\n","author":{"url":"https://github.com/arturoptophys","@type":"Person","name":"arturoptophys"},"datePublished":"2026-02-05T13:50:23.000Z","interactionStatistic":{"@type":"InteractionCounter","interactionType":"https://schema.org/CommentAction","userInteractionCount":1},"url":"https://github.com/1380/datajoint-python/issues/1380"}
| route-pattern | /_view_fragments/issues/show/:user_id/:repository/:id/issue_layout(.:format) |
| route-controller | voltron_issues_fragments |
| route-action | issue_layout |
| fetch-nonce | v2:17573d28-1a67-ff60-f48d-97c65ff2edc2 |
| current-catalog-service-hash | 81bb79d38c15960b92d99bca9288a9108c7a47b18f2423d0f6438c5b7bcd2114 |
| request-id | 92EA:3C1583:B020EF:B44917:6A4DB7EE |
| html-safe-nonce | 469f80898a886383eb03db88a2448506054b3abd14640c19bb508194592e4d8c |
| visitor-payload | eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiI5MkVBOjNDMTU4MzpCMDIwRUY6QjQ0OTE3OjZBNERCN0VFIiwidmlzaXRvcl9pZCI6IjQ4MDU1Nzc4OTQ5NzI0NzEyNzgiLCJyZWdpb25fZWRnZSI6InNlYSIsInJlZ2lvbl9yZW5kZXIiOiJzZWEifQ== |
| visitor-hmac | 885e2e032e984865dfc83b1fc1493d1541d4b7536bfdebe3ab2c481c6b751062 |
| hovercard-subject-tag | issue:3901693515 |
| github-keyboard-shortcuts | repository,issues,copilot |
| google-site-verification | Apib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I |
| octolytics-url | https://collector.github.com/github/collect |
| analytics-location | / |
| fb:app_id | 1401488693436528 |
| apple-itunes-app | app-id=1477376905, app-argument=https://github.com/_view_fragments/issues/show/datajoint/datajoint-python/1380/issue_layout |
| twitter:image | https://opengraph.githubassets.com/c5993a813766b4b1a13c92ed66f9b719fc7ee2cd0ed13396fb1e867ed9a8a783/datajoint/datajoint-python/issues/1380 |
| twitter:card | summary_large_image |
| og:image | https://opengraph.githubassets.com/c5993a813766b4b1a13c92ed66f9b719fc7ee2cd0ed13396fb1e867ed9a8a783/datajoint/datajoint-python/issues/1380 |
| og:image:alt | Bug Report Description to_arrays() cannot combine arrays of different shape if they differ on 2. axis, but can handle different size arrays when they differ on 1. axis. Reproducibility import numpy... |
| og:image:width | 1200 |
| og:image:height | 600 |
| og:site_name | GitHub |
| og:type | object |
| og:author:username | arturoptophys |
| hostname | github.com |
| expected-hostname | github.com |
| None | 06b8a6144231bf3a234f1c2e9993861e07ce98a905912b114aa386c2d7e84b33 |
| turbo-cache-control | no-preview |
| go-import | github.com/datajoint/datajoint-python git https://github.com/datajoint/datajoint-python.git |
| octolytics-dimension-user_id | 2375501 |
| octolytics-dimension-user_login | datajoint |
| octolytics-dimension-repository_id | 5866704 |
| octolytics-dimension-repository_nwo | datajoint/datajoint-python |
| octolytics-dimension-repository_public | true |
| octolytics-dimension-repository_is_fork | false |
| octolytics-dimension-repository_network_root_id | 5866704 |
| octolytics-dimension-repository_network_root_nwo | datajoint/datajoint-python |
| turbo-body-classes | logged-out env-production page-responsive |
| disable-turbo | false |
| browser-stats-url | https://api.github.com/_private/browser/stats |
| browser-errors-url | https://api.github.com/_private/browser/errors |
| release | 32f7b614aca06e6bbd89842b1370df1328264f68 |
| ui-target | canary-2 |
| theme-color | #1e2327 |
| color-scheme | light dark |
Links:
Viewport: width=device-width