pandas、python 中 groupby 内的计算
Calculations within groupby in pandas, python
我的数据集包含 4 个不同国家(美国、德国、英国、瑞典)的 4 种不同房屋类型(A、B、C、D)的房价。房价只能是三种类型(Upward、Downward、Not Changed)。我想根据房价计算不同国家(美国、德国、英国、瑞典)的不同房屋类型(A、B、C、D)的分化指数(ID)。
我想用来计算分化指数 (DI) 的公式是:
DI = (Total Number of Upward * 1 + Total Number of Downward * 0 + Total Number of Not Changed * 0.5) / (Total Number of Upward + Total Number of Downward + Total Number of Not Changed)
这是我的数据:
预期结果是:
我真的需要你的帮助。
谢谢。
您可以使用 groupby
并假设您的文件名为 text.xlsx
df = pd.read_excel('test.xlsx')
df = df.replace({'Upward':1,'Downward':0,'Notchanged':0.5})
df.groupby('Country').mean().reset_index()
我的数据集包含 4 个不同国家(美国、德国、英国、瑞典)的 4 种不同房屋类型(A、B、C、D)的房价。房价只能是三种类型(Upward、Downward、Not Changed)。我想根据房价计算不同国家(美国、德国、英国、瑞典)的不同房屋类型(A、B、C、D)的分化指数(ID)。
我想用来计算分化指数 (DI) 的公式是:
DI = (Total Number of Upward * 1 + Total Number of Downward * 0 + Total Number of Not Changed * 0.5) / (Total Number of Upward + Total Number of Downward + Total Number of Not Changed)
这是我的数据:
预期结果是:
我真的需要你的帮助。 谢谢。
您可以使用 groupby
并假设您的文件名为 text.xlsx
df = pd.read_excel('test.xlsx')
df = df.replace({'Upward':1,'Downward':0,'Notchanged':0.5})
df.groupby('Country').mean().reset_index()