将表数据转换为列并按频率计数

时间:2016-10-06 14:12:00

标签: python pandas reshape

我有以下格式的数据框:

enter image description here

形状是2326 x 1271

列名称只是从0到1269序列化,而行是可以像示例中的“apple”那样重复的类别。内部数据点可以表示任何内容(假设它们代表本例中的商店),我正在尝试将它们转换为列,并使数据点成为该类别在“商店”中显示的次数。在视觉上,这是我想要的表格:

enter image description here

请注意,Apple出现在AA和RR两次

1 个答案:

答案 0 :(得分:1)

使用stackcrosstab来计算频率计数:

数据:

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'", Locale.US);
sdf.setTimeZone(TimeZone.getTimeZone("GMT"));           
System.out.println(sdf.format(new Date())); //-prints-> 2015-01-22T03:23:26Z

Image

<强>运营:

index= ['Apple', 'Orange', 'Apple', 'Banana', 'Kiwi']
data = [['AA', 'DD', 'RR', ''], ['DD', 'PP', '', ''], 
        ['AA', 'RR', 'TT', 'SS'], ['EE', 'NN', '',''], ['NN', 'WW','', '']]
frame = pd.DataFrame(data, index, columns=np.arange(4))
frame

Image