基于另一个数据帧对数据帧的列进行分组

2024-06-17 10:39:19 发布

您现在位置:Python中文网/ 问答频道 /正文

基于此数据帧

  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是新手。你知道吗


Tags: 数据nameagenanpeterheaderdf1df2
1条回答
网友
1楼 · 发布于 2024-06-17 10:39:19

使用^{}

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

相关问题 更多 >