# How to add two vtkDataArray objects of same type in vtk python?

**URL:** https://discourse.vtk.org/t/how-to-add-two-vtkdataarray-objects-of-same-type-in-vtk-python/13811
**Category:** Support
**Tags:** python, code, vtkjs
**Created:** [April 29, 2024, 12:18pm UTC](https://discourse.vtk.org/t/how-to-add-two-vtkdataarray-objects-of-same-type-in-vtk-python/13811 "2024-04-29T12:18:54Z")
**Posts on this page:** 7
**Page:** 1

<div class="post-metadata">

### Author: ![dbtruong](https://discourse.vtk.org/letter_avatar_proxy/v4/letter/d/f08c70/32.png) [@dbtruong](https://discourse.vtk.org/u/dbtruong)
#### Post date: [April 29, 2024, 12:18pm UTC](https://discourse.vtk.org/t/how-to-add-two-vtkdataarray-objects-of-same-type-in-vtk-python/13811/1 "2024-04-29T12:18:54Z")

</div>

Hello all,  
How to add two vtkDataArray objects of same type in vtk python?  
Is there any vtk-class to do this?  
Thanks.

---

<div class="post-metadata">

### Author: ![Paulo\_Carvalho](https://discourse.vtk.org/user_avatar/discourse.vtk.org/paulo_carvalho/32/370_2.png) [@Paulo\_Carvalho](https://discourse.vtk.org/u/Paulo_Carvalho)
#### Post date: [April 29, 2024, 6:21pm UTC](https://discourse.vtk.org/t/how-to-add-two-vtkdataarray-objects-of-same-type-in-vtk-python/13811/2 "2024-04-29T18:21:59Z")

</div>

Hello,

Add to what?

best,

PC

---

<div class="post-metadata">

### Author: ![ben.boeckel](https://discourse.vtk.org/letter_avatar_proxy/v4/letter/b/ea5d25/32.png) [@ben.boeckel](https://discourse.vtk.org/u/ben.boeckel)
#### Post date: [April 29, 2024, 9:54pm UTC](https://discourse.vtk.org/t/how-to-add-two-vtkdataarray-objects-of-same-type-in-vtk-python/13811/3 "2024-04-29T21:54:47Z")

</div>

If you mean `da1 + da2`, this isn’t possible (and is unlikely). I’m sure there’s something though.

---

<div class="post-metadata">

### Author: ![jaswantp](https://discourse.vtk.org/user_avatar/discourse.vtk.org/jaswantp/32/10046_2.png) [@jaswantp](https://discourse.vtk.org/u/jaswantp)
#### Post date: [April 30, 2024, 12:03am UTC](https://discourse.vtk.org/t/how-to-add-two-vtkdataarray-objects-of-same-type-in-vtk-python/13811/4 "2024-04-30T00:03:07Z")

</div>

You can use `vtk.util.numpy_support`

```python
import vtk
da1 = vtk.vtkDoubleArray()
da1.number_of_tuples = 4
da1.Fill(1)
da2 = vtk.vtkDoubleArray()
da2.number_of_tuples = 4
da2.Fill(2)

from vtk.util.numpy_support import numpy_to_vtk as n2v
from vtk.util.numpy_support import vtk_to_numpy as v2n
da3 = n2v(v2n(da1) + v2n(da2))
for i in range(da3.GetNumberOfValues()):
    print(da1.GetValue(i), '+', da2.GetValue(i), '=', da3.GetValue(i))

```

---

<div class="post-metadata">

### Author: ![ben.boeckel](https://discourse.vtk.org/letter_avatar_proxy/v4/letter/b/ea5d25/32.png) [@ben.boeckel](https://discourse.vtk.org/u/ben.boeckel)
#### Post date: [April 30, 2024, 12:54am UTC](https://discourse.vtk.org/t/how-to-add-two-vtkdataarray-objects-of-same-type-in-vtk-python/13811/5 "2024-04-30T00:54:01Z")

</div>

Ah, element-wise addition? I was thinking of concatenating the data arrays together (like `[1] + [2]` in Python).

---

<div class="post-metadata">

### Author: ![jaswantp](https://discourse.vtk.org/user_avatar/discourse.vtk.org/jaswantp/32/10046_2.png) [@jaswantp](https://discourse.vtk.org/u/jaswantp)
#### Post date: [April 30, 2024, 1:30am UTC](https://discourse.vtk.org/t/how-to-add-two-vtkdataarray-objects-of-same-type-in-vtk-python/13811/6 "2024-04-30T01:30:27Z")

</div>

Ah. I thought they meant element-wise addition. Any case, you can concatenate with numpy.

```python
da4 = n2v(np.concatenate((v2n(da1), v2n(da2))))
print(da4.number_of_tuples) # prints 8

```

---

<div class="post-metadata">

### Author: ![dbtruong](https://discourse.vtk.org/letter_avatar_proxy/v4/letter/d/f08c70/32.png) [@dbtruong](https://discourse.vtk.org/u/dbtruong)
#### Post date: [May 1, 2024, 4:17am UTC](https://discourse.vtk.org/t/how-to-add-two-vtkdataarray-objects-of-same-type-in-vtk-python/13811/7 "2024-05-01T04:17:06Z")

</div>

It worked exactly as I wanted  
Thanks a lot.
