簡體   English   中英

按 pandas 分組的比率值

[英]Ratio values groupby pandas

這是一個 DataFrame ,我使用groupby() function 來獲取每天的正面和負面出現次數。

data = [['28-08-22', 'Positive'], ['28-08-22', 'Negative'],  ['28-08-22', 'Positive'], ['28-08-22', 'Positive'], ['27-08-22', 'Positive'], ['27-08-22', 'Negative'], ['27-08-22', 'Negative'], ['27-08-22', 'Negative']]

df = pd.DataFrame(data, columns=['Date', 'actions'])
df2 = df.groupby('Date')['actions'].value_counts(normalize=True)

print(df2)

我想計算每天發生這些事件的比率,這意味着每天除以positive value / negative value

Output 和預期結果

此外,如果在某一天正值高於負值,我希望該比率為正值。 如果負值高於正值,我希望比率為負值。

我是 python 的新手,所以絕對需要你的幫助。 謝謝!

嘗試執行以下操作而不是計算 df2:

df = df.pivot_table(index='Date',columns='actions',aggfunc='size').reset_index().set_index('Date')

df['percent'] = df['Negative'] / df.sum(axis=1)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM