|
发表于 2022-11-17 20:59:17
|
显示全部楼层
本帖最后由 阿奇_o 于 2022-11-17 21:03 编辑
假设你会点Pandas和Numpy,可以这样(也就十来行代码^_):
- import pandas as pd, numpy as np
- data = {'a': [1.2, 2.01, 3.06], 'b':[2.1, 7.01, 3.06], 'c':[3.03, 10.29, 5.11]} # 测试数据(实际可以用pd.read_excel()读取xlsx文件)
- df = pd.DataFrame(data)
- df
- a b c
- 0 1.20 2.10 3.03
- 1 2.01 7.01 10.29
- 2 3.06 3.06 5.11
- r = range(int(df.min().min()), int(df.max().max())+1)
- res_data = {f'{i}': np.sort(df[(df>=i) & (df<i+1)].to_numpy().flatten()) for i in r}
- res = pd.DataFrame(res_data)
- res
- 1 2 3 4 5 6 7 8 9 10
- 0 1.2 2.01 3.03 NaN 5.11 NaN 7.01 NaN NaN 10.29
- 1 NaN 2.10 3.06 NaN NaN NaN NaN NaN NaN NaN
- 2 NaN NaN 3.06 NaN NaN NaN NaN NaN NaN NaN
- 3 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
- 4 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
- 5 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
- 6 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
- 7 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
- 8 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
- res.to_excel('处理结果.xlsx', index=False)
复制代码 |
|