我有以下Pandas数据框,它显示了塔中台阶的坐标,包括z-min和z-max:
导致:
对于每一个独特的坐标,我想重新分组所有塔,这些塔的z-max小于或等于该坐标。因此:
import pandas as pd
names = ['T1', 'T2', 'T2', 'T1', 'T1']
coord = [0, 0, 5, 50, 70]
df = pd.DataFrame([names , coord ], index=['Name', 'Cord']).T
导致:
Name Cord
0 T1 0
1 T2 0
2 T2 5
3 T1 50
4 T1 70
对于每一个独特的坐标,我想重新分组所有塔,这些塔的z-max小于或等于该坐标。因此:
Name Cord
0 T1,T2 0
1 T1,T2 5
2 T1 50
3 T1 70
我该怎么做?
我已经做了什么
按唯一坐标分组:
import numpy as np
g = df.groupby('Cord')['Name'].apply(lambda x: list(np.unique(x)))
我理解为:
Cord
0 [T1, T2]
5 [T2]
50 [T1]
70 [T1]
...但是除此之外,我不确定。
编辑
提出的答案对于两座塔的z-min值不相同时无法解决:
import pandas as pd
names = ['T1', 'T2', 'T2', 'T1', 'T1']
coord = [0, 5, 10, 50, 70]
df = pd.DataFrame([names , coord ], index=['Name', 'Cord']).T
T1,T2
,但在70时只有T1
? - Quang Hoang