熊猫解开了计数列

时间:2015-02-27 13:07:57

标签: python pandas

阅读其他问题(1)我的印象是,当数据采用以下格式时,大熊猫会进行箱图或进行最佳统计分析:

    stimulus    vote
0          1       0
1          1       1
2          1       1
3          1       1
4          1       2
5          1       2
6          1       2
7          1       2
8          1       2
9          1       2
10         1       3
11         1       3
12         1       3
13         1       3

其中stimulus是我的自变量,vote是给予它的每个分数。

但是,我的数据已按rating分组,另一列votes显示每次投票的.count()

    stimulus  rating  votes
0          1       0      1
1          1       1      3
2          1       2      6
3          1       3      4

再次,stimulus是我的IV,rating是得分比例,votes是给每个得分的投票数。

我现在无法使用该格式,我甚至无法知道如何将这些数据转换回“堆叠”或“记录”格式。

最后我想

  • 将数据绘制为boxplot
  • 执行Kruskal-Wallis H-test

1 个答案:

答案 0 :(得分:1)

import numpy as np
import pandas as pd

df = pd.read_table('data', sep='\s+')

stacked = pd.DataFrame({key: np.repeat(df[key].values, df['votes'])
                        for key in ('rating', 'stimulus')})

产量

    rating  stimulus
0        0         1
1        1         1
2        1         1
3        1         1
4        2         1
5        2         1
6        2         1
7        2         1
8        2         1
9        2         1
10       3         1
11       3         1
12       3         1
13       3         1

您在我vote列调用的rating列中发布的内容。如果我理解您的情况,stacked vote/rating列中的值就是评分。所以我认为调用专栏rating是合适的。 (此外,它允许我使用字典理解 - 好吧,我承认 - 更改名称的真正原因。:)