簡體   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