我想創建一個基于另一列的列,該列具有 0,25,50,75,100 等值。所以我想創建一個動態代碼,這樣就不需要手動定義了。
所以假設我有一個包含 10000 行的資料框
輸入[在此處輸入圖片描述][1] https://i.stack.imgur.com/pcPkS.jpg
輸出[在此處輸入影像描述][2] https://i.stack.imgur.com/hHt0W.jpg
所以基本上我想要 0-25 作為 1 , 25 到 50 作為 2 , 50 到 75 作為 3 等等
請幫助我以動態方式執行此操作 [1]:https ://i.stack.imgur.com/pcPkS.jpg [2]:https ://i.stack.imgur.com/hHt0W.jpg
請點擊圖片查看輸入輸出
uj5u.com熱心網友回復:
可以使用熊貓.cut()
import pandas as pd
data = [0,25,50,75,100,125,150]
df = pd.DataFrame(data, columns=['A'])
lower = 0
upper = max(df['A'])
bins = range(lower, upper 1, 25)
df['B'] = pd.cut(x=df['A'], bins=bins, include_lowest=True, right=True)
bins = list(set(df['B']))
bins.sort()
bin_label = {k: idx for idx, k in enumerate(bins, start=1)}
df['C'] = df['B'].map(bin_label)
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/513162.html
