Python 数据框跟踪两个月列的百分比变化。手动输入月份
Python dataframe tracking the percentage change of two months columns. Input month manually
我正在尝试一些对我来说似乎很难的事情。如果有人可以帮助我进行这项多项操作,那就太好了。首先,我有一个数据框 'df' 可以监控网站的数百个用户帐户统计信息。 'Account'栏包含账户名,'Users'栏包含每个账户下的用户数,还有十二个'Logins in (Month)'栏监控每个账户的登录数。
样本 df:
Account Users Logins in January Logins in February Logins in March Logins in April
Nike 148 68 94 72 87
Adidas 654 134 192 248 324
Apple 43 23 40 32 29
Tesla 864 651 598 691 439
我希望此操作的用户输入月份,例如,三月。然后单元格将 return 数据框格式中从 2 月到 3 月的登录百分比变化。像这样:
输入:
Please input Month: (This is where the user type in the month in interest)
输出:
Account Logins in February Logins in March Percentage Change (%)
Nike 94 72 -23
Adidas 192 248 29
Apple 40 32 -20
Tesla 598 691 16
再次感谢!非常感谢对此的任何帮助!
将pandas.DataFrame.filter
与pct_change
一起使用:
input_ = "Mar"
df2 = df.set_index("Account").filter(regex="Feb|%s" % input_).copy()
df2["Percentage Change (%)"] = df2.pct_change(axis=1).iloc[:, -1].mul(100).round()
print(df2)
输出:
Logins in February Logins in March Percentage Change (%)
Account
Nike 94 72 -23.0
Adidas 192 248 29.0
Apple 40 32 -20.0
Tesla 598 691 16.0
我正在尝试一些对我来说似乎很难的事情。如果有人可以帮助我进行这项多项操作,那就太好了。首先,我有一个数据框 'df' 可以监控网站的数百个用户帐户统计信息。 'Account'栏包含账户名,'Users'栏包含每个账户下的用户数,还有十二个'Logins in (Month)'栏监控每个账户的登录数。
样本 df:
Account Users Logins in January Logins in February Logins in March Logins in April
Nike 148 68 94 72 87
Adidas 654 134 192 248 324
Apple 43 23 40 32 29
Tesla 864 651 598 691 439
我希望此操作的用户输入月份,例如,三月。然后单元格将 return 数据框格式中从 2 月到 3 月的登录百分比变化。像这样:
输入:
Please input Month: (This is where the user type in the month in interest)
输出:
Account Logins in February Logins in March Percentage Change (%)
Nike 94 72 -23
Adidas 192 248 29
Apple 40 32 -20
Tesla 598 691 16
再次感谢!非常感谢对此的任何帮助!
将pandas.DataFrame.filter
与pct_change
一起使用:
input_ = "Mar"
df2 = df.set_index("Account").filter(regex="Feb|%s" % input_).copy()
df2["Percentage Change (%)"] = df2.pct_change(axis=1).iloc[:, -1].mul(100).round()
print(df2)
输出:
Logins in February Logins in March Percentage Change (%)
Account
Nike 94 72 -23.0
Adidas 192 248 29.0
Apple 40 32 -20.0
Tesla 598 691 16.0