一个list中有5个子list,每个子list里有若干个ndarray,每个ndarray有3列,要求将每个子list里的ndarray按axis=0拼接并且每列按照从小到大的顺序排序
时间: 2024-10-19 13:03:20 浏览: 19
java实现把一个List集合拆分成多个的操作
你可以通过Python的Pandas库来实现这个需求,Pandas对于数据操作非常方便。假设你的list结构如下:
```python
data = [list_of_arrays_1, list_of_arrays_2, ..., list_of_arrays_5]
```
其中`list_of_arrays_i`是一个包含ndarray的列表,每个ndarray都有3列。
首先,你需要将所有的子list里的ndarrays拼接到一起,然后对每一列进行排序。以下是步骤:
1. 将所有子list合并成一个DataFrame:
```python
import pandas as pd
# 合并子list
all_arrays = pd.concat([pd.DataFrame(arr) for arr in data])
# 确保列名一致,如果有的话
all_arrays.columns = ['col1', 'col2', 'col3']
```
2. 对每列进行升序排序:
```python
sorted_df = all_arrays.sort_values(by=['col1', 'col2', 'col3'], ascending=[True, True, True])
```
这里`ascending=True`表示升序排列,如果你想降序可以改为`ascending=[False, False, False]`。
现在,`sorted_df`就是处理后的DataFrame,每一列都是从小到大排序的。
阅读全文