繁体   English   中英

根据另一个数据框对数据框的列进行分组

[英]Group a column of a data frame based on another dataframe

基于此数据框

  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的新手。

使用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-100

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM