0

データセット内の 1 つの列の四分位範囲に基づいて値にラベルを付けようとしていますが、2 つのステップを合成するのに問題があります。以下は、おもちゃのデータセットです。

fruit   rating_store   rating_home    

apple   1.0            .8
pear    .8             .9
berry   .9             .4
tomato  .7             .5
orange  .3             .6
banana  .2             .4
...     ...            ...

まず、私がrating_homeできる四分位範囲を特定しようとしています:

qrating_home = pd.cut(df['rating_home'], 4).value_counts().reset_index()

しかし、データセット内qrating_homeの値の範囲にラベル (「low」、「low_med」、「high_med」、「high」など) を割り当てるのに問題があります。望ましい出力:

fruit   rating_store   rating_home   rating_home_quartile 

apple   1.0            .8            high
pear    .8             .9            high
berry   .9             .4            low
tomato  .7             .5            low
orange  .3             .6            low_med
banana  .2             .4            low
...     ...            ...

この投稿は非常に役に立ちましたが、範囲をハードコーディングしました: How to categorize a range of values in Pandas DataFrame より多くのデータが入ってくるとデータセットが変化する可能性があるため、コードを実行するたびに範囲を計算する必要があります。助けてくれてありがとう!

4

2 に答える 2

0

私はあなたが欲しいと思います:

df['rating_home_quartile'] = pd.cut(df['rating_home'], bins=4, 
                                     labels=['low', 'low_med', 'high_med', 'high'])
于 2020-12-21T21:52:55.967 に答える