Pandas 计算百分比变化(熊猫)
我试图获得在特定日期/月份出现的水果选择百分比,如示例中所示 我可以通过下面的一行得到整个df的总平均值。但是,我想查看天数/月份的百分比变化Pandas 计算百分比变化(熊猫),pandas,Pandas,我试图获得在特定日期/月份出现的水果选择百分比,如示例中所示 我可以通过下面的一行得到整个df的总平均值。但是,我想查看天数/月份的百分比变化 df['apple%'] = df['fruit'].eq(apple).groupby(df['name']).transform('mean') df['orange%'] = df['fruit'].eq(orange).groupby(df['name']).transform('mean') 原始df: date name fr
df['apple%'] = df['fruit'].eq(apple).groupby(df['name']).transform('mean')
df['orange%'] = df['fruit'].eq(orange).groupby(df['name']).transform('mean')
原始df:
date name fruit
1-Jan john apple
1-Feb john orange
1-Mar john apple
1-Apr john apple
1-May john orange
1-Jun john apple
1-Jul john apple
我希望得到的是:
date name fruit apple% orange%
1-Jan john apple 100%
1-Feb john orange 50% 50%
1-Mar john apple 67% 33%
1-Apr john apple 75% 25%
1-May john orange 60% 40%
1-Jun john apple 67% 33%
1-Jul john apple 71% 29%
我已经按照建议添加了df。
非常感谢
data={'date':['1-Jan','1-Feb','1-Mar','1-Apr','1-May','1-Jun','7-1'],'name':['john','john','john','john','john'],
‘水果’:[‘苹果’、‘橘子’、‘苹果’、‘苹果’、‘橘子’、‘苹果’、‘苹果’]]
df=pd.DataFrame(数据)
打印(df)
使用:
输出
date name fruit apple orange
0 1-Jan john apple 100.000000 0.000000
1 1-Feb john orange 50.000000 50.000000
2 1-Mar john apple 66.666667 33.333333
3 1-Apr john apple 75.000000 25.000000
4 1-May john orange 60.000000 40.000000
5 1-Jun john apple 66.666667 33.333333
6 1-Jul john apple 71.428571 28.571429
使用:
输出
date name fruit apple orange
0 1-Jan john apple 100.000000 0.000000
1 1-Feb john orange 50.000000 50.000000
2 1-Mar john apple 66.666667 33.333333
3 1-Apr john apple 75.000000 25.000000
4 1-May john orange 60.000000 40.000000
5 1-Jun john apple 66.666667 33.333333
6 1-Jul john apple 71.428571 28.571429
如果您能轻松提供生成
原始df
的代码,那么开发人员就可以专注于为您的问题找到解决方案,而不是浪费时间来生成原始df
。如果您能轻松提供生成原始df
的代码,那么开发人员就可以专注于找到解决方案,这将是一件好事解决您的问题,不浪费时间生成原始df
。嗨,ansev,谢谢您的帮助。当我有两种以上的水果(苹果、橘子、香蕉等)和名字(约翰、皮特、简)时,该行应该做哪些更改。数据={'date':['1-Jan'、'1-Feb'、'1-Mar'、'1-Apr'、'1-May'、'1-Jun'、'7月1日'、'8月1日'、'1-Sep']、'name':['pete'、'john'、'john'、'john'、'john'、'john'、'pete'、'john'、'jane'、'ja['apple','banana','orange','apple','banana','orange','apple','apple','banana']}你好,谢谢你的帮助。当我有两种以上的水果(苹果,橘子,香蕉等)和名字(john,pete,jane)时,应该在队列中更改什么。数据={'date':['1-Jan'、'1-Feb'、'1-Mar'、'1-Apr'、'1-May'、'1-Jun'、'7-Jun'、'1-Aug'、'1-Sep']、'name':['pete'、'john'、'john'、'john'、'john'、'john'、'john'、'john'、'john'、'jane']、'fruit'、'fruit':['apple'、'香蕉]、'