为什么在pandas中创建数据透视表时十进制不起作用?

polhcujo  于 2023-08-01  发布在  其他
关注(0)|答案(1)|浏览(100)

以下内容可以正常工作:

a = pandas.DataFrame({
    'A': ['a', 'b', 'a'],
    'B': ['one', 'two', 'three'],
    'C': [22.3, 34.0, 12.3]
})

pandas.pivot_table(a, values='C', index='A', columns='B')

B   one  three   two
A                   
a  22.3   12.3   NaN
b   NaN    NaN  34.0

字符串
但是下面的代码在透视时返回一个空的 Dataframe ,我想知道为什么会这样:

b = pandas.DataFrame({
    'A': ['a', 'b', 'a'],
    'B': ['one', 'two', 'three'],
    'C': [decimal.Decimal('22.3'), decimal.Decimal('34.0'), decimal.Decimal('12.3')]
})

pandas.pivot_table(b, values='C', index='A', columns='B')
                                             
Empty DataFrame
Columns: []
Index: [a, b]

dfddblmv

dfddblmv1#

b.Cdtypeobject。将其转换为数字,它应该按预期工作。

b.C = pandas.to_numeric(b.C)
print(pandas.pivot_table(b, values='C', index='A', columns='B'))

字符串

相关问题