[英]add a new dataframe based on multiple condition in pandas
嗨,我有這樣的數據:
例如
id genre total_play
1 pop 20
1 rock 30
1 jazz 60
2 pop 60
2 country 30
2 rock 25
3 latin 25
3 kpop 25
3 folk 10
我想根據以下規則創建一個新列:
並且會是這樣的:
id tendency
1 A
2 B
3 C
先謝謝了:)
讓我們試試 pivot 表來計算總播放次數,然后使用np.select
:
plays = df.pivot_table('total_play','id','genre',fill_value=0)
totals = plays.sum(1)
pd.Series(np.select([plays['jazz']>totals*0.3, plays['pop'] > totals*0.4],['A','B'],'C'),
index=plays.index)
Output:
id
1 A
2 B
3 C
dtype: object
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.