python数据分析

numpy

参考文档:简书

np.random.rand(3,4)#产生一个3行4列的矩阵(0-1之间的)

ndarray

ndarray的创建

In [32]: data1=[1,2,3,4.0]
In [34]: arr1 = np.array(data1)

In [35]: arr1
Out[35]: array([ 1., 2., 3., 4.])

In [37]: data2=[(1,23,3.),(2,3,5)]
In [38]: arr2=np.array(data2)

In [39]: arr2
Out[39]:
array([[ 1., 23., 3.],
[ 2., 3., 5.]])

ndarry相关属性查看:

    arr1.ndim
    arr1.shape
    arr1.dtype

zeros
In [40]: np.zeros(10)
Out[40]: array([ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.])
In [42]: np.zeros((3,3))
Out[42]:
array([[ 0., 0., 0.],
[ 0., 0., 0.],
[ 0., 0., 0.]])

ones,eye,empty

arange
In [43]: np.arange(15)
Out[43]: array([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14])

astype
In [44]: arr=np.ones((3,3))

In [45]: arr
Out[45]:
array([[ 1., 1., 1.],
[ 1., 1., 1.],
[ 1., 1., 1.]])
In [47]: arr.astype(np.int64)
Out[47]:
array([[1, 1, 1],
[1, 1, 1],
[1, 1, 1]], dtype=int64)

数组间的算术运算

In [50]: arr=np.array([[1,2,3],[4,5,6]])

In [51]: arr
Out[51]:
array([[1, 2, 3],
[4, 5, 6]])

In [52]: arr*arr
Out[52]:
array([[ 1, 4, 9],
[16, 25, 36]])

In [53]: arr-arr
Out[53]:
array([[0, 0, 0],
[0, 0, 0]])

In [54]: arr**0.5
Out[54]:
array([[ 1. , 1.41421356, 1.73205081],
[ 2. , 2.23606798, 2.44948974]])

In [55]: arr/2.
Out[55]:
array([[ 0.5, 1. , 1.5],
[ 2. , 2.5, 3. ]])

np.where

In [2]: xarr=np.array([1.1,1.2,1.3,1.4,1.5])
In [3]: yarr=np.array([2.1,2.2,2.3,2.4,2.5])
In [6]: cond = np.array([True,False,True,True,False])

In [7]: result = np.where(cond,xarr,yarr)#相当于c语言的三目运算(条件?表达式1;表达式2)
In [8]: result
Out[8]: array([ 1.1, 2.2, 1.3, 1.4, 2.5])

将正值换为2负值换为-2
In [9]: arr = np.random.randn(4,4)
In [10]: arr
Out[10]:
array([[-0.04664521, 0.88642482, 1.2859935 , -1.41718901],
[-0.7753382 , 0.68117095, 1.41066347, 0.22943825],
[-0.87982581, -0.28701962, -0.71245947, 1.49186814],
[-1.85635383, -1.87134631, -0.41743389, 0.78895452]])

In [11]: np.where(arr>0,2,-2)
(np.where(arr>0,2,arr)#只将大于0的换成2
Out[11]:
array([[-2, 2, 2, -2],
[-2, 2, 2, 2],
[-2, -2, -2, 2],
[-2, -2, -2, 2]])

pandas的使用

引用
十分钟搞定pandas

python数据科学家

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值