基于这个数据
df1 Name Age
Johny 15
Diana 35
Doris 97
Peter 25
Antony 55例如,我有一个包含希望使用的范围数的数据。
df2 Header Init1 Final1 Init2 Final2 Init3 Final3
Names NaN NaN NaN NaN NaN NaN
Age 0 20 21 50 51 100我想要的是得到这样的结果
df3 Name Age
Johny 0-20
Diana 21-50
Doris 51-100
Peter 21-50
Antony 51-100我不知道是否有一个可能的解决方案是使用cut (),但我对python还是新手。
发布于 2019-03-14 05:09:42
使用pd.cut
l = df2.iloc[1,1:].tolist()
labels = [str(t[0])+'-'+str(t[1]) for t in zip(l[::1],l[1::1])]
df['Age'] = pd.cut(df['Age'], bins=l, labels=labels)
print(df)
Name Age
0 Johny 0-20
1 Diana 21-50
2 Doris 51-100
3 Peter 21-50
4 Antony 51-100https://stackoverflow.com/questions/55155245
复制相似问题