整型列的Pandas透视表正在返回十进制值

2024-10-06 15:25:49 发布

您现在位置:Python中文网/ 问答频道 /正文

我在python中使用pandas测试pivot表,我有一个列,如果单词出现在文本中,则包含1s;如果单词没有出现,则包含0s。因此,我希望值列中有整数值,但我得到的输出如下:

Athens                       0.085366
Atlantic Time (Canada)       0.545455
Baghdad                      0.457746
Baku                         0.500000
Beijing                      0.000000
Belgrade                     0.000000
Berlin                       0.000000
Brasilia                     0.666667
Brisbane                     0.000000

我原以为它可能会取一些比率而不是总数,但是由于除了数据帧、索引和值之外,我没有传递任何参数,所以我不知道它为什么会这样做。在

我有一个dataframe,其中的列是从tweets的JSON代码创建的

^{pr2}$

这是我用于透视表的两个列,这是生成表的代码:

words_pivot = pd.pivot_table(tweets, index = ['timezone'], values = ['ktheer'])

对于可能出问题的任何想法,我们都将不胜感激。我不知道为什么我不能得到整数。在

更新:经过一番周折,我很确定问题出在python计算pivot值作为给定时区中所有观察值的比率。但我仍然不确定如何解决这个问题,也不知道是什么原因造成的。在


Tags: 代码文本pandastime整数单词tweets比率
1条回答
网友
1楼 · 发布于 2024-10-06 15:25:49

因为pandas基于numpy,所以您可能总是得到浮点结果,而不是整数。在

^{} function接受一个参数aggfunc,默认为numpy.mean。如果您将其更改为numpy.sum,您应该可以得到您想要的。在

words_pivot = pd.pivot_table(tweets, index = ['timezone'], values = ['ktheer'], aggfunc=numpy.sum)

相关问题 更多 >