我正在使用pandas在python中试验数据透视表,如果一个单词出现在文本中,我有一个包含1的列,如果没有出现单词,则为0。因此,我期待值列中的整数值,但我得到的输出如下:
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
我认为它可能会采用一些比率而不是总数,但由于我没有传递除数据框和索引以及值之外的任何参数,我不知道为什么会这样做。
我有一个数据框,其中包含根据推文的JSON代码创建的列
tweets['timezone'] = list(map(lambda tweet: (tweet['user']['time_zone'] if 'time_zone' != None else None ),tweets_data))
tweets['ktheer'] = tweets['text'].apply(lambda tweet: word_in_text('كثير', tweet),tweets_data)
这是我用于数据透视表的两列,这是制作表格的代码:
words_pivot = pd.pivot_table(tweets, index = ['timezone'], values = ['ktheer'])
对于可能出现的问题的任何想法都非常感谢。我不知道为什么我不会得到整数。
更新:经过一些游戏后,我很确定问题在于python计算枢轴值作为给定时区内所有观测值的比率。但我仍然不确定如何解决问题或导致问题的原因。
答案 0 :(得分:1)
由于'a
基于pandas
,因此您可能总是得到浮点结果而不是整数。
pivot_table
function采用参数numpy
,默认为aggfunc
。如果您将其更改为numpy.mean
,您应该得到您想要的内容。
numpy.sum