求条件极值有哪几种方法?拉格朗日常数如何求条件极值?
① 如果约束为等式,有时可以借助换元法可以将有条件转化为无条件极值从而求解,不过换元消元只能解决三元以内的问题。
② 拉格朗日乘数法可以通过引入新的未知标量(拉格朗日乘数
③ 求函数 f(x,y) 在附加条件
Python基础积累(pandas)
pandas创建一个DataFrame
import
运行结果:
DatetimeIndex(['2013-01-01', '2013-01-02', '2013-01-03', '2013-01-04',
'2013-01-05', '2013-01-06'],
dtype='datetime64[ns]', freq='D')
['A', 'B', 'C', 'D']
A B C D
2013-01-01 -2.054843 0.714070 -1.294332 0.421806
2013-01-02 1.017431 -1.768982 0.513907 -0.175802
2013-01-03 -0.099200 -1.965604 0.345410 -1.776506
2013-01-04 -0.599261 -0.009976 -2.907778 0.135148
2013-01-05 -2.130496 0.792301 0.000720 0.616809
2013-01-06 1.186050 0.006081 -0.488283 -0.837765
注:pandas.date_range(start=None, end=None, periods=None, freq='D', tz=None, normalize=False, name=None, closed=None, **kwargs)
注:pd.date_range该函数主要用于生成一个固定频率的时间索引,在调用构造方法时,必须指定start、end、periods中的两个参数值,否则报错。
注:这里的'20130101'为start。
注:freq:日期偏移量,取值为string或DateOffset,默认为'D'。
注:pandas.DataFrame( data, index, columns, dtype, copy)。
注:data数据采取各种形式,如:ndarray,series,map,lists,dict,constant和另一个DataFrame。这里是随机设置的六行四列的ndarray。
注:index,对于行标签,要用于结果帧的索引是可选缺省值np.arrange(n),如果没有传递索引值。这里用的dates是上面pd.date_range产生的。
注:columns,对于列标签,可选的默认语法是 - np.arange(n)。 这只有在没有索引传递的情况下才是这样。这里是设置的是列表list。
注:这样,结合上面产生的dates、pd.DataFrame可以画出一个表格出来。
注:如果index和column都不设置,那么index和columns都由0开始,然后1、2、3......
注:如果连data也没有,那么直接就产生一个空列表DataFrame。
dates
运行结果:
0 2.0
1 2.0
2 2.0
3 2.0
dtype: float32
[3 3 3 3]
[3 3 3 3]
A B C D E F
2013-01-01 1.0 2013-01-02 NaN 3 test foo
2013-01-02 1.0 2013-01-02 NaN 3 train foo
2013-01-03 1.0 2013-01-02 NaN 3 test foo
2013-01-04 1.0 2013-01-02 NaN 3 train foo
A B C D E F 2013-01-01 1.0 2013-01-02 NaN 3 test foo 2013-01-02 1.0 2013-01-02 NaN 3 train foo 2013-01-03 1.0 2013-01-02 NaN 3 test foo 2013-01-04 1.0 2013-01-02 NaN 3 train foo
注:如果字典中keys所对应的values只有一个数据,那么列表中该keys对应的所有values都赋为该值。
注:pd.Timestamp()函数将字符串转换为时间。
注:pd.Series(1,index=list(range(4)),dtype='float32'),表示索引是range(4),索引对应的值都是1。
注:np.array([3,3,3,3])与np.array([3]*4)等价。
注:Categoricals表示分类,是由固定的且有限数量的变量组成的。比如:性别、社会阶层、血型、国籍、观察时段、赞美程度等等。
注:如果不设置index,行索引就从0开始,然后1、2、3......,我这里是用dates变为行索引。
注:通过传递dict字典对象来创建一个DataFrame,这里的字典的keys为列索引的标签。
df2
运行结果:
A float64
B datetime64[ns]
C float32
D int32
E category
F object
dtype: object
注:可以看到各列的数据类型。