什么是正定矩阵?
① 在不考虑复数构成的矩阵情况下,正定矩阵还是很简单的。
② 定义:给定一个大小为
③ 例如:单位矩阵
注:设向量
注:对于任意单位矩阵
④ 例如:正定矩阵一定是对称矩阵。
注:例如:实对称矩阵为
注:则,
注:正定矩阵的前提一定是对称矩阵,对称矩阵不一定是正定矩阵。
Python基础积累(pandas)
表格添加多级索引
import pandas as pd
tuples = list(zip(*[['bar', 'bar', 'baz', 'baz',
'foo', 'foo', 'qux', 'qux'],
['one', 'two', 'one', 'two',
'one', 'two', 'one', 'two']]))
print(tuples)
运行结果:
[('bar', 'one'), ('bar', 'two'), ('baz', 'one'), ('baz', 'two'), ('foo', 'one'), ('foo', 'two'), ('qux', 'one'), ('qux', 'two')]
注:zip函数接受任意多个(包括0个和1个)序列作为参数,返回一个tuple列表。
注:x = [1, 2, 3]
注:y = [4, 5, 6]
注:z = [7, 8, 9]
注:xyz = zip(x, y, z)
注:print xyz
注:运行结果为:[(1, 4, 7), (2, 5, 8), (3, 6, 9)]
index = pd.MultiIndex.from_tuples(tuples, names=['first', 'second'])
print(index)
运行结果:
MultiIndex([('bar', 'one'),
('bar', 'two'),
('baz', 'one'),
('baz', 'two'),
('foo', 'one'),
('foo', 'two'),
('qux', 'one'),
('qux', 'two')],
names=['first', 'second'])
注:MultiIndex创建多级索引,它是从Index继承过来的。
注:tuples索引为 names=['first', 'second']。
import numpy as np
df = pd.DataFrame(np.random.randn(8, 2), index=index, columns=['A', 'B'])
注:创建的多级索引继承到index上了。
df2 = df[:4]
df2
运行结果:
注:取首行到第四行。
stacked = df2.stack()
stacked
运行结果:
注:stack()方法对DataFrame的列“压缩”一个层级,一组一组表示数据。
stacked.unstack()
运行结果:
注:对于一个“堆叠过的”DataFrame或者Series(拥有MultiIndex作为索引),stack()的逆操作是unstack(),默认反堆叠到上一个层级
stacked.unstack(1)
运行结果:
注:stacked.unstack(1)等价于stacked.unstack(),反堆叠为原来数据。
stacked.unstack(0)
运行结果:
注:类似于反堆叠的转置。
参考文献:
- 知乎 / Xinyu Chen / 浅谈「正定矩阵」和「半正定矩阵」