### Describe the enhancement requested This issue is a part of https://github.com/apache/arrow/issues/40058 adds support for different data types and covers: - Finding a common data type or use [MergeTypes](https://github.com/apache/arrow/blob/2e8bd8d0b53560a561656337021abc3e4aa73f8c/cpp/src/arrow/type.cc#L741) to merge column data types one by one. - Casting columns mimicking [ConvertIntegerWithNulls](https://github.com/apache/arrow/blob/c67d0260d4e96472b5cbdff66ca67ead2b9abe4c/python/pyarrow/src/arrow/python/arrow_to_pandas.cc#L550) ### Component(s) C++, Python