日损录

Feilishu's Note


  • 首页

  • 关于

  • 标签

  • 分类

  • 归档

pandas学习笔记2:汇总和计算描述性统计

发表于 2018-01-04 | 分类于 IT , Language , Python , Pandas

汇总和计算描述性统计

pandas包含一系列汇总和统计函数。多数函数属于归纳或者汇总统计的范畴,这些函数从Series中计算出一个单值(如sum和mean函数),或从DataFrame的每行(列)抽取出一个Series对象。与Numpy中相对应的函数不一样的是,pandas的函数内建处理缺失值的能力。

1
2
3
4
import numpy as np
import pandas as pd
df = pd.DataFrame([[1.4, np.nan], [7.1, -4.5],[np.nan, np.nan], [0.75, -1.3]],index=['a', 'b', 'c', 'd'],columns=['one', 'two'])
df
阅读全文 »

pandas学习笔记1:核心函数。

发表于 2017-12-29 | 分类于 IT , Language , Python , Pandas

一、重建索引(Reindex)

1
2
obj = pd.Series([4.5, 7.2, -5.3, 3.6], index=['d', 'b', 'a', 'c'])
obj
d    4.5
b    7.2
a   -5.3
c    3.6
dtype: float64
阅读全文 »

numpy学习笔记5:线性代数函数及数组对象的文件读写。

发表于 2017-12-19 | 分类于 IT , Language , Python , Numpy

数组文件的读写

np.save和np.load函数以numpy内建二进制格式存储和读取数字对象,大部分用户会用pandas或其他工具来存取文本、表格文件。

1
2
3
import numpy as np
arr = np.arange(10)
np.save('some_array', arr) #数组保存到some_array.npy文件中
阅读全文 »

numpy学习笔记4:数学统计方法、布尔数组、排序、集合方法。

发表于 2017-12-18 | 分类于 IT , Language , Python , Numpy

数学和统计方法

平均值、和

1
2
import numpy as np
arr = np.random.randn(5, 4)
阅读全文 »

numpy学习笔记3:条件表达式(where函数)。

发表于 2017-12-16 | 分类于 IT , Language , Python , Numpy

数组的条件表达式:where函数

1
2
3
4
5
import numpy as np
xarr = np.array([1.1, 1.2, 1.3, 1.4, 1.5])
yarr = np.array([2.1, 2.2, 2.3, 2.4, 2.5])
cond = np.array([True, False, True, True, False])
result = np.where(cond, xarr, yarr) #where函数,按cond条件选择,对应的元素为True,则选择xarr,否则选择yarr
1
result
array([ 1.1,  2.2,  1.3,  1.4,  2.5])

where函数典型的用法是给予一个array产生另一个array,如下列:

1
arr = np.random.randn(4, 4)
1
arr
array([[-2.5264061 ,  0.31600076, -0.3584314 ,  1.1104543 ],
       [-0.36526226,  1.35603517, -0.17306545, -1.91238476],
       [ 0.89170697, -0.23551787, -0.78883913, -0.76915407],
       [-0.2233249 , -0.67969266, -0.64915308, -1.46796594]])
1
arr > 0
array([[False,  True, False,  True],
       [False,  True, False, False],
       [ True, False, False, False],
       [False, False, False, False]], dtype=bool)
1
np.where(arr > 0, 2, -2)  #以标量为基础指定需要产生的元素,并不是一定是数组
array([[-2,  2, -2,  2],
       [-2,  2, -2, -2],
       [ 2, -2, -2, -2],
       [-2, -2, -2, -2]])
1
np.where(arr > 0, 2, arr)  #也可以同时使用标量和数组为基,产生新的数组
array([[-2.5264061 ,  2.        , -0.3584314 ,  2.        ],
       [-0.36526226,  2.        , -0.17306545, -1.91238476],
       [ 2.        , -0.23551787, -0.78883913, -0.76915407],
       [-0.2233249 , -0.67969266, -0.64915308, -1.46796594]])

numpy学习笔记2:面向数组编程。

发表于 2017-12-16 | 分类于 IT , Language , Python , Numpy

面向数组的编程

面向数组的编程是以向量化代替使用繁杂的Loop循环。
下面是一个例子,我们要对一个普通网格的数值计算$sqrt(x^2 + y^2)$

1
2
import numpy as np
points = np.arange(-5, 5, 0.01) # 1000个元素的从-5到5到等差数列
阅读全文 »

Numpy学习笔记1:通用函数。

发表于 2017-12-15 | 分类于 IT , Language , Python , Numpy

单因子函数

1
2
3
import numpy as np
arr = np.arange(10) #创建一个连续序列数组
arr
array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
1
np.sqrt(arr)  #计算每个元素的平方根
array([ 0.        ,  1.        ,  1.41421356,  1.73205081,  2.        ,
        2.23606798,  2.44948974,  2.64575131,  2.82842712,  3.        ])
1
np.exp(arr)  #计算指数
array([  1.00000000e+00,   2.71828183e+00,   7.38905610e+00,
         2.00855369e+01,   5.45981500e+01,   1.48413159e+02,
         4.03428793e+02,   1.09663316e+03,   2.98095799e+03,
         8.10308393e+03])

双因子函数

1
2
x = np.random.randn(8)
y = np.random.randn(8)
1
x
array([ 0.01390002,  0.44440568, -0.69043928,  0.77192223,  0.54505387,
        1.16004907, -0.00615129,  1.75249289])
1
y
array([-1.37632082,  2.28097943, -0.08908447, -1.79805353,  1.13887393,
       -0.24691048, -0.38084412, -0.06628497])
1
np.maximum(x, y) #求最大值
array([ 0.01390002,  2.28097943, -0.08908447,  0.77192223,  1.13887393,
        1.16004907, -0.00615129,  1.75249289])

返回值是多个值的函数

1
2
arr = np.random.randn(7) * 5
arr
array([ 2.03591268, -3.38109174,  1.00418422, -2.20275474,  2.3263392 ,
        1.72357055, -3.28077738])
1
2
remainder, whole_part = np.modf(arr) #求取分数部分和整数部分
remainder #分数部分
array([ 0.03591268, -0.38109174,  0.00418422, -0.20275474,  0.3263392 ,
        0.72357055, -0.28077738])
1
whole_part #整数部分
array([ 2., -3.,  1., -2.,  2.,  1., -3.])

接受一个可选的out参数,可以就地修改原数组的值

1
arr
array([ 2.03591268, -3.38109174,  1.00418422, -2.20275474,  2.3263392 ,
        1.72357055, -3.28077738])
1
np.sqrt(arr) #求arr的平方根,arr不会被修改,由于其中包含负值,因此出现警告。
d:\Anaconda3\lib\site-packages\ipykernel_launcher.py:1: RuntimeWarning: invalid value encountered in sqrt
  """Entry point for launching an IPython kernel.





array([ 1.42685412,         nan,  1.00208993,         nan,  1.52523415,
        1.31284826,         nan])
1
arr #arr仍是原值
array([ 2.03591268, -3.38109174,  1.00418422, -2.20275474,  2.3263392 ,
        1.72357055, -3.28077738])
1
np.sqrt(arr, arr) #将arr作为out参数,则arr被就地修改
d:\Anaconda3\lib\site-packages\ipykernel_launcher.py:1: RuntimeWarning: invalid value encountered in sqrt
  """Entry point for launching an IPython kernel.





array([ 1.42685412,         nan,  1.00208993,         nan,  1.52523415,
        1.31284826,         nan])
1
arr
array([ 1.42685412,         nan,  1.00208993,         nan,  1.52523415,
        1.31284826,         nan])

单因子函数

函数 描述
abs, fabs 计算整数、浮点数和复数的绝对值
sqrt 计算平方根
square 计算平方
exp 计算以e为底的指数
log, log10,log2, log1p 计算自然底数、10为底数、2为底数和log(1+x)
sign 计算每个元素的符号: 1 (正), 0 (零), or –1 (负)
ceil 计算大于等于元素的最小整数
floor 计算小于等于元素的最大整数
rint 取整
modf 求整数部分和小数部分
isnan 返回一个数组,其元素是标志参数元素是否是NaN的布尔值
isfinite,isinf 返回一个数组,其元素是标志参数元素是否是无穷大或有限数值的布尔值
cos, cosh, sin,sinh, tan, tanh 三角函数
arccos, arccosh,arcsin, arcsinh,arctan, arctanh 反三角函数
logical_not 逻辑非( ~arr )

双因子函数

函数 描述
add,subtract,multiply,divide, floor_divide 加法,减法、乘法、除法、不带余数除法
power 指数
maximum, fmax ,minimum, fmin 最大、最小,fmax、fmin忽略 NaN值
mod 余数
copysign 拷贝第二个参数的符号给第一个参数
greater, greater_equal,less, less_equal,equal, not_equal >, >=, <, <=, ==, !=
logical_and,logical_or, logical_xor 逻辑并、或、异或(&、|、^)

Anaconda入门:Navigator、Spyder和Jupyter Notebook

发表于 2017-12-05 | 分类于 IT , Language , Python , Anaconda

Anaconda安装后,可以从菜单中看到它包含几个应用程序,其中Anaconda Navigator是这几个程序的导航入口。

1.Anaconda Navigator是什么?

Anaconda Navigator是Anaconda发行包中包含的桌面图形界面,可以用来方便地启动应用、方便的管理conda包、环境和频道,不需要使用命令行的命令。Navigator可以从Anaconda Cloud或本地Anaconda仓库中搜索包。提供了Windwos、maxOS和Linux版本。
Anaconda Navigator

阅读全文 »

Anaconda入门:安装及包与环境的管理(conda命令)。

发表于 2017-12-05 | 分类于 IT , Language , Python , Anaconda

1.Anaconda是什么?

Anaconda在英文中是“蟒蛇”,麻辣鸡(Nicki Minaj妮琪·米娜)有首歌就叫《Anaconda》anaconda,表示像蟒蛇一样性感妖娆的身体。

这里,Anaconda指的是一个开源的Python发行版本,其包含了conda、Python等180多个科学包及其依赖项。 因为包含了大量的科学包,Anaconda 的下载文件比较大(约 500 MB),如果只需要某些包,或者需要节省带宽或存储空间,也可以使用Miniconda这个较小的发行版(仅包含conda和 Python)。

阅读全文 »

神农鞭百草

发表于 2017-12-03 | 分类于 传统文化 , 民间传说 , 神怪故事

神农①以赭鞭②鞭百草,尽知其平毒③寒温之性,臭味④所主。以⑤播百谷,故天下号神农也。

干宝《搜神记》

注释

①神农:又被成为炎帝,传说中太古时期的帝王。因为传说他教会人们务农,故被成为“神农氏”。
②赭(zhě)鞭:传说中神农氏用来检验百草的红色鞭子。
③平毒: 在这里指草药含不含毒性。平,即无毒。
④臭(xiù)味:气味,味道。这里指酸、咸、甘、苦、辛等五味。
⑤以: 根据。

译文

神农用他那红色的鞭子抽打各种草木,既而全面了解各种草木的无毒、有毒、寒、温等药性以及酸、咸、甘、苦、辛等五味主治的疾病,然后根据这些经验,教会人们播种庄稼,所以天下人称他为“神农”。

12

Feilishu

为学日益,为道日损,损之又损,以至于无为,无为而无不为。取天下常以无事,及其有事,不足以取天下。

13 日志
10 分类
11 标签
RSS
© 2017 — 2018 Feilishu
由 Hexo 强力驱动
|
主题 — NexT.Gemini v5.1.3