我已经阅读了MS数据透视表上的内容,但我仍然遇到问题.
我有一个正在创建的临时表,我们会说第1列是商店号,第2列是周数,最后第3列是某种类型的总和.周数也是动态的,商店数是静态的.
Store      Week     xCount
-------    ----     ------
102        1        96
101        1        138
105        1        37
109        1        59
101        2        282
102        2        212
105        2        78
109        2        97
105        3        60
102        3        123
101        3        220
109        3        87
我希望它作为一个数据透视表出来,像这样:
Store        1          2          3        4        5        6....
----- 
101        138        282        220
102         96        212        123
105         37        
109
将数字存储在侧面,将数字存储在顶部.
我试图搜索帖子,但我只找到了SQL Server/Access的解决方案.我需要一个MySQL(5.X)的解决方案.
我有一个表(称为历史)有3列:hostid,itemname,itemvalue.
如果我执行select(select * from history),它将返回
   +--------+----------+-----------+
   | hostid | itemname | itemvalue |
   +--------+----------+-----------+
   |   1    |    A     |    10     |
   +--------+----------+-----------+
   |   1    |    B     |     3     |
   +--------+----------+-----------+
   |   2    |    A     |     9     |
   +--------+----------+-----------+
   |   2    |    c     |    40     |
   +--------+----------+-----------+
如何查询数据库以返回类似的内容
   +--------+------+-----+-----+
   | hostid |   A  |  B  |  C  |
   +--------+------+-----+-----+
   |   1    |  10  |  3  |  0  |
   +--------+------+-----+-----+
   |   2    |   9  |  0  |  40 …我是LINQ的新手,但我想知道是否可以使用LINQ从以下布局转移数据:
CustID | OrderDate | Qty
1      | 1/1/2008  | 100
2      | 1/2/2008  | 200
1      | 2/2/2008  | 350
2      | 2/28/2008 | 221
1      | 3/12/2008 | 250
2      | 3/15/2008 | 2150
进入这样的事情:
CustID  | Jan- 2008 | Feb- 2008 | Mar - 2008 |
1       | 100       | 350       |  250
2       | 200       | 221       | 2150
这似乎是一个简单的数据透视表来学习.我想为我正在分组的特定值计算唯一值.
例如,我有这个:
ABC   123
ABC   123
ABC   123
DEF   456
DEF   567
DEF   456
DEF   456
我想要的是一个数据透视表,向我展示了这个:
ABC   1
DEF   2
我创建的简单数据透视表只给了我这个(计算了多少行):
ABC   3
DEF   4  
但我想要的是唯一值的数量.
我真正想要做的是找出第一列中哪些值在所有行的第二列中没有相同的值.换句话说,"ABC"是"好","DEF"是"坏"
我确信有一种更简单的方法可以做到这一点,但我想我会试试枢轴表......
我有一个phone_models,phone_problems和一个phone_model_phone_problem数据透视表.数据透视表有一个额外的列"价格".
PhoneModel:
class PhoneModel extends \Eloquent
{
    public function problems()
    {
        return $this->belongsToMany('RL\Phones\Entities\PhoneProblem')->withPivot('price');
    }
}
PhoneProblem:
class PhoneProblem extends \Eloquent
{
    public function models()
    {
        return $this->belongsToMany('PhoneModel')->withPivot('price');
    }
}
我想要做的是获得具有特定问题的特定手机的价格.
这就是我现在的方式,但我觉得Laravel有一个内置的Eloquent功能,我找不到这样做的方式更简单:
$model = $this->phoneService->getModelFromSlug($model_slug);
$problem = $this->phoneService->getProblemFromSlug($problem_slug);
所有这一切都是从他们的slug中选择特定的模型和问题.
那么我所做的就是凭借这些凭据我得到的价格是这样的:
$row = DB::table('phone_model_phone_problem')
->where('phone_model_id', '=', $model->id)
->where('phone_problem', '=', $problem->id)
->first();
所以现在我可以得到这样的价格,$row->price但我觉得需要一个更简单,更"Laravel"的方式来做到这一点.
df2 = pd.DataFrame({'X' : ['X1', 'X1', 'X1', 'X1'], 'Y' : ['Y2','Y1','Y1','Y1'], 'Z' : ['Z3','Z1','Z1','Z2']})
    X   Y   Z
0  X1  Y2  Z3
1  X1  Y1  Z1
2  X1  Y1  Z1
3  X1  Y1  Z2
g=df2.groupby('X')
pd.pivot_table(g, values='X', rows='Y', cols='Z', margins=False, aggfunc='count')
回溯(最近一次调用最后一次):... AttributeError:'Index'对象没有属性'index'
如何获得一个数据透视表,其中包含另外两列的一个DataFrame列的唯一值计数?
是否有aggfunc用于计数独特之处?我应该用np.bincount()吗?
NB.我知道'系列',values_counts()但我需要一个数据透视表.
编辑:输出应该是:
Z   Z1  Z2  Z3
Y             
Y1   1   1 NaN
Y2 NaN NaN   1
我正在使用Pandas 0.10.1
考虑此数据帧:
Date       State   City    SalesToday  SalesMTD  SalesYTD
20130320     stA    ctA            20       400      1000
20130320     stA    ctB            30       500      1100
20130320     stB    ctC            10       500       900
20130320     stB    ctD            40       200      1300
20130320     stC    ctF            30       300       800
我如何组合每个州的小计?
State   City  SalesToday  SalesMTD  SalesYTD
  stA    ALL          50       900      2100
  stA    ctA          20       400      1000
  stA    ctB          30       500      1100
我尝试使用数据透视表,但我只能在列中使用小计
table = pivot_table(df, values=['SalesToday', 'SalesMTD','SalesYTD'],\
                     rows=['State','City'], aggfunc=np.sum, margins=True)
我可以使用数据透视表在excel上实现这一点.
在Laravel 4中,当处理http://four.laravel.com/docs/eloquent#many-to-many中描述的多对多关系时,我怎样才能真正让Laravel为我创建数据透视表?
我是否需要在迁移中为所涉及的两个模型添加一些内容?我是否需要为数据透视表手动创建迁移?或者Laravel如何知道创建数据透视表?
到目前为止,我所做的就是将belongsToMany信息添加到两个相应的模型中,即
class User extends Eloquent 
{
    public function roles()
    {
         return $this->belongsToMany('Role');
     }
 }
但是,这不会触发数据透视表的创建?我错过了什么步骤?
我正在使用我正在使用的项目上的数据透视表来获取用户的作品.
例如:User::find(1)->works给我ID为1的用户的作品.
问题是我想用额外的Pivot数据过滤这个结果.
就像是:
User::find(1)->works->pivot->where('active',1)->get();
其中active是我在user_works数据透视表中设置的列.
这是我的User.php模型的相关部分:
<?php
class User extends Cartalyst\Sentry\Users\Eloquent\User {
    public function works() {
        return $this->belongsToMany('Work','user_works')->withPivot('active')->withTimestamps();
    }
}
这是我的Work.php模型的相关部分:
<?php
class Work extends Eloquent {
    public function users() {
        return $this->belongsToMany('User','user_works')->withPivot('active')->withTimestamps();
    }
}
这是我的数据透视表模式:
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
class CreateUserWorksTable extends Migration {
    /**
     * Run the migrations.
     *
     * @return void
     */
    public function up()
    {
        Schema::create('user_works', function(Blueprint $table) {
            $table->increments('id');
            $table->integer('user_id')->unsigned()->default(0);
            $table->integer('work_id')->unsigned()->default(0);
            $table->enum('active',array('0','1'))->default(1);
            $table->foreign('user_id')->references('id')->on('users')->onDelete('cascade');
            $table->foreign('work_id')->references('id')->on('works')->onDelete('cascade');
            $table->timestamps();
        });
    }
    /**
     * Reverse the …我需要FIRST在表格中转换Excel矩阵LATER:                                        
第一:
    P1  P2  P3  P4
F1  X
F2  X   X
F3      X       X
F4      X   X
稍后:
F   P   VALUE
F1  P1  X
F1  P2
F1  P3
F1  P4
F2  P1  X
F2  P2  X
F2  P3
F2  P4
F3  P1
F3  P2  X
F3  P3
F3  P4  X
F4  P1
F4  P2  X
F4  P3  X
F4  P4
pivot-table ×10
laravel ×3
eloquent ×2
excel ×2
laravel-4 ×2
mysql ×2
pandas ×2
python ×2
sql ×2
crosstab ×1
etl ×1
filtering ×1
linq ×1
many-to-many ×1
matrix ×1
php ×1
pivot ×1
powerquery ×1
sql-server ×1
unpivot ×1