标签: pivot-table

从数据透视表缓存重新创建源数据

我试图从使用数据透视表缓存的数据透视表中提取源数据并将其放入空白电子表格.我尝试了以下但它返回应用程序定义或对象定义的错误.

ThisWorkbook.Sheets.Add.Cells(1,1).CopyFromRecordset ThisWorkbook.PivotCaches(1).Recordset
Run Code Online (Sandbox Code Playgroud)

文档表明PivotCache.Recordset是一个ADO类型,所以这应该工作.我确实在引用中启用了ADO库.

有关如何实现这一目标的任何建议?

excel vba pivot-table

10
推荐指数
1
解决办法
2万
查看次数

pandas - pivot_table与非数字值?(DataError:没有要聚合的数字类型)

我正在尝试将包含字符串的表作为结果.

import pandas as pd

df1 = pd.DataFrame({'index' : range(8),
'variable1' : ["A","A","B","B","A","B","B","A"],
'variable2' : ["a","b","a","b","a","b","a","b"],
'variable3' : ["x","x","x","y","y","y","x","y"],
'result': ["on","off","off","on","on","off","off","on"]})

df1.pivot_table(values='result',rows='index',cols=['variable1','variable2','variable3'])
Run Code Online (Sandbox Code Playgroud)

但我明白了:DataError: No numeric types to aggregate.

当我将结果值更改为数字时,这可以正常工作:

df2 = pd.DataFrame({'index' : range(8),
'variable1' : ["A","A","B","B","A","B","B","A"],
'variable2' : ["a","b","a","b","a","b","a","b"],
'variable3' : ["x","x","x","y","y","y","x","y"],
'result': [1,0,0,1,1,0,0,1]})

df2.pivot_table(values='result',rows='index',cols=['variable1','variable2','variable3'])
Run Code Online (Sandbox Code Playgroud)

我得到了我需要的东西:

variable1   A               B    
variable2   a       b       a   b
variable3   x   y   x   y   x   y
index                            
0           1 NaN NaN NaN NaN NaN
1         NaN NaN   0 NaN NaN NaN
2 …
Run Code Online (Sandbox Code Playgroud)

python pivot-table dataframe pandas

10
推荐指数
1
解决办法
9216
查看次数

将数据插入laravel中的数据透视表

我有3个表:posts,tags,post_tag.

每个Post都有很多标签,所以我使用hasMany它们的方法.但是当我在下拉列表中选择3个标签时,我无法添加它们,post_tag因此我无法选择并显示每个帖子的标签.

我的Post模特:

 class Post extends Eloquent{
 public function tag()
         {
           return  $this->hasMany('Tag');
         }
    }
Run Code Online (Sandbox Code Playgroud)

我的Tag模特:

class Tag extends Eloquent{
 public function post()
         {
           return  $this->belongsToMany('Post');
         }
Run Code Online (Sandbox Code Playgroud)

}

我的postController:

class postController extends BaseController{

public function addPost(){

    $post=new Post;

    $post_title=Input::get('post_title');
    $post_content=Input::get('post_content');
    $tag_id=Input::get('tag');

    $post->tag()->sync($tag_id);
    $post->save();
Run Code Online (Sandbox Code Playgroud)

我希望将此post_id保存保存到post_tag带有标签ID的表中,但它不起作用.谢谢你的时间.

php pivot-table laravel eloquent

10
推荐指数
2
解决办法
2万
查看次数

pandas pivot_table列名

对于这样的数据帧:

d = {'id': [1,1,1,2,2], 'Month':[1,2,3,1,3],'Value':[12,23,15,45,34], 'Cost':[124,214,1234,1324,234]}
df = pd.DataFrame(d)

     Cost  Month  Value  id  
0    124       1     12   1  
1    214       2     23   1  
2    1234      3     15   1  
3    1324      1     45   2  
4    234       3     34   2  
Run Code Online (Sandbox Code Playgroud)

我应用pivot_table

df2 =    pd.pivot_table(df, 
                        values=['Value','Cost'],
                        index=['id'],
                        columns=['Month'],
                        aggfunc=np.sum,
                        fill_value=0)
Run Code Online (Sandbox Code Playgroud)

得到df2:

       Cost            Value          
Month     1    2     3     1   2   3   
id                                  
1       124  214  1234    12  23  15
2      1324    0   234    45   0  34
Run Code Online (Sandbox Code Playgroud)

是否有一种简单的方法来格式化结果数据帧列名称,如

id     Cost1    Cost2     Cost3 Value1   Value2 …
Run Code Online (Sandbox Code Playgroud)

python pivot-table reshape pandas

10
推荐指数
2
解决办法
2万
查看次数

mysql中的数据透视表

我知道如何在mysql中创建一个数据透视表(参见下面的代码示例),但是如果数据透视表中的列数非常大并且我不想输入2000左右的标记名怎么办? - 有没有办法生成该列表?提前谢谢了.

drop table pivot;
create table pivot SELECT time,
       max(if(tagname = 'a', value, null)) AS 'a',
       max(if(tagname = 'b', value, null)) AS 'b',
       max(if(tagname = 'c', value, null)) AS 'c'
  FROM test where tagname in ('a','b','c')
GROUP BY time;
select * from pivot;
Run Code Online (Sandbox Code Playgroud)

mysql pivot-table

9
推荐指数
1
解决办法
976
查看次数

枢轴列下的数据透视表字符串分组?

JOB        ENAME
--------  ----------
ANALYST    SCOTT
ANALYST    FORD
CLERK      SMITH
CLERK      ADAMS
CLERK      MILLER
CLERK      JAMES
MANAGER    JONES
MANAGER    CLARK
MANAGER    BLAKE
PRESIDENT  KING
SALESMAN   ALLEN
SALESMAN   MARTIN
SALESMAN   TURNER
SALESMAN   WARD
Run Code Online (Sandbox Code Playgroud)

我想格式化结果集,以便每个作业都有自己的列:

CLERKS  ANALYSTS  MGRS   PREZ  SALES
------  --------  -----  ----  ------
MILLER  FORD      CLARK  KING  TURNER
JAMES   SCOTT     BLAKE        MARTIN
ADAMS             JONES        WARD
SMITH 
Run Code Online (Sandbox Code Playgroud)

我试过了

SELECT ANALYST, CLERK, MANAGER, PRESIDENT, SALESMAN from
(
  SELECT ename, job from emp
) as st
pivot
(
  SELECT ename
  FOR job in …
Run Code Online (Sandbox Code Playgroud)

sql sql-server pivot pivot-table sql-server-2008

9
推荐指数
1
解决办法
2万
查看次数

为什么Excel.Range.Group的Periods参数采用数组?

最近我学习了如何使用VBA在Excel中自动创建数据透视表,并且该Excel.Range.Group()方法的实现让我感到奇怪.第四个参数Periods采用7个元素的布尔值数组来指示分组是按秒,分钟,小时,天,月,季度还是年.通常情况下,您可以通过使用一种Enum类型来完成这样的事情,该类型的成员可以Or一起表示已打开一个或多个选项 - 该MsgBox函数就是一个很好的例子.

例如,我原本期望使用更像这样......

MyPivotTable.DataRange.Cells(1).Group Periods:=vbGroupPeriods.Days Or _
    vbGroupPeriods.Months
Run Code Online (Sandbox Code Playgroud)

代替...

MyPivotTable.DataRange.Cells(1).Group Periods:=Array(False, False, False, _
    True, True, False, False)
Run Code Online (Sandbox Code Playgroud)

我环顾四周试图理解为什么用它来完成Array,但迄今为止空手而归.所以,我的问题是为什么这样做?我有没有看到一些限制?这是个人的个人选择吗?还是只是一个谜?不要试图抱怨,只是想了解.

arrays grouping vba pivot-table excel-vba

9
推荐指数
1
解决办法
1177
查看次数

有没有办法使用Apache POI在Excel中创建数据透视表?

我目前正致力于Excel的自动化,并添加了这样我已经很好地利用了Apache POI库.

由于我在excel工作簿中存储了大量数据,因此我正在尝试创建数据透视表.

有没有办法使用POI创建数据透视表?

我的要求是我需要在新的Excel工作簿或我存储数据的同一工作簿中创建数据透视表.

java excel pivot-table apache-poi

9
推荐指数
1
解决办法
2万
查看次数

Accessor(Getter)和Mutators(Setter)在Laravel的数据透视表上

我有一个将用户连接到工作区的数据透视表.在数据透视表上,我还有一个role列,它定义了该工作空间的用户角色.我可以在数据透视表中的角色上提供Accessor(Getter)和Mutator(Setter)方法吗?我一直在努力寻找,但是雄辩的数据透视表的细节非常稀少.

我不确定是否必须设置自定义枢轴模型?如果我这样做,一个例子将是非常棒的,因为关于枢轴模型的文档非常基础.

谢谢.

php pivot-table laravel eloquent

9
推荐指数
1
解决办法
3779
查看次数

将总行追加到数据帧后删除pandas数据帧索引的名称

我已经计算了一周中的一系列总计提示,并将其附加到totalspt数据框的底部.

我已将数据框设置index.nametotalspt无.

但是,当数据帧显示默认的0,1,2,3索引时,它不会在索引正上方的左上角显示默认的空单元格.

我怎么能在数据帧中使这个单元格为空?

在此输入图像描述

   total_bill   tip sex smoker  day time  size   tip_pct
0       16.54  1.01   F      N  Sun    D     2  0.061884
1       12.54  1.40   F      N  Mon    D     2  0.111643
2       10.34  3.50   M      Y  Tue    L     4  0.338491
3       20.25  2.50   M      Y  Wed    D     2  0.123457
4       16.54  1.01   M      Y  Thu    D     1  0.061064
5       12.54  1.40   F      N  Fri    L     2  0.111643
6       10.34  3.50   F      Y  Sat    D     3 …
Run Code Online (Sandbox Code Playgroud)

python indexing pivot-table pandas

9
推荐指数
1
解决办法
4206
查看次数