pandas 数据透视表:除以行总和时出现问题

use*_*144 2 pivot-table pandas

我在使用 pandas 中带有列名称的数据透视表时遇到问题。

这是我的问题

from collections import OrderedDict
import pandas as pd


table = OrderedDict((
("Item", ['Item0', 'Item0', 'Item1', 'Item1']),
('CType',['Gold', 'Bronze', 'Gold', 'Silver']),
('USD',  [1, 2, 3, 4]),
('EU',   [1, 2, 3, 4])
))
d = pd.DataFrame(table)

print d

p = d.pivot_table(index='Item', columns='CType', values='USD')
print p

p.fillna(0, inplace=True)
print p
Run Code Online (Sandbox Code Playgroud)

下面的操作给了我一个奇怪形状的 NaN 。 我缺少什么?

 p / p.sum(axis = 1)
Run Code Online (Sandbox Code Playgroud)

PS:数据示例取自此处,但我自己的数据显示相同的行为

Nic*_*eli 6

改用DF.div

p.div(p.sum(1), 0)
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

axis=1上述方法中的行为方式与您在生成 all 之前所做的方式类似Nans

您必须通过提供 使其按行计算(沿着索引)axis=0