pandas基础:Series、和NumPy里的random.x()

前面我们已经使用过pandas,简单体会了一下padas的强大之处。
http://blog.csdn.net/github_26672553/article/details/78651523
http://blog.csdn.net/github_26672553/article/details/78676520

接下来我们稍微学习一些pandas的基础知识:

Series

文档地址:
http://pandas.pydata.org/pandas-docs/stable/dsintro.html

好比一个一维的list,可以存入字符串、数字、list、dict以及numpy中的对象。
比如:s = pd.Series([1,2,3,4,5]) 或者pd.Series([x for x in range(1,6)])
如果不设置index,则会自动产生行号(索引),是一个Rangeindex。

当然我们也可以设置索引:

s = pd.Series([x for in range(1,3)], index=['a','b'])

根据文档,我们还可以直接通过dict来创建:

s = pd.Series({"name":"jack","age":22})
print(s)
import pandas as pd

s = pd.Series(["jack","zhangsan","zhaoliu"])
print(s[0]) # jack
print(s[2]) # zhaoliu
import pandas as pd

s = pd.Series(["jack","zhangsan","zhaoliu"],index=["u1","u2","u3"])
print(s[0]) # jack
print(s["u1"]) # jack

print(s.index) # Index(['u1', 'u2', 'u3'], dtype='object')
print(s.values) # ['jack' 'zhangsan' 'zhaoliu']

pandas 是基于NumPy 的一种工具,可以打印type可以看出来:

print(type(s.values))  # <class 'numpy.ndarray'>

pandas 是基于NumPy 的一种工具

import numpy as np

import pandas as pd

arr = np.array([1,2,3,4,5])
print(arr) # [1 2 3 4 5]

s = pd.Series(arr)
print(s.values) # [1 2 3 4 5]

1、rand(5) 可以得到5个随机数,在0~1之间分布。

s = pd.Series(np.random.rand(5))
print(s.values) # [ 0.60468053  0.65139518  0.76998706  0.87495392  0.18412385]

2、多维数组

# 二维数组
print(np.random.rand(3,2))

"""
[[ 0.86255321  0.98764163]
 [ 0.53384014  0.26949796]
 [ 0.6329096   0.67799305]]
"""

3、randint 随机整数

# 随机整数 10~20 ,不包括20
print(np.random.randint(10,high=20))
# 随机整数 10~20 ,不包括20
# 0~20之间 5个随机整数
print(np.random.randint(0,high=20,size=5)) # [17 16  3  6  8]
s = pd.Series(np.random.randint(0,high=20,size=5))
# 按索引排序
print(s.sort_index())
"""
0    11
1     9
2    18
3     1
4    18
dtype: int64
"""
# 按值排序
print(s.sort_values())
"""
3     2
2     6
4     8
1    10
0    13
dtype: int64
"""
s = pd.Series(np.random.randint(0,high=20,size=5))
v = s.sort_values()

# 取出 值大于6 的元素
print(s[v>6])

"""
0    19
1     7
2    13
4     9
dtype: int64
"""

4、random.choice() 方法

arr = [1,2,3,4,5]
r = np.random.choice(arr,size=1)
print(r) # [2]

抽奖:

list = ["一等级","谢谢你","二等级"]
s = pd.np.random.choice(list,size=10,p=[0.1,0.7,0.2])
print(s) # ['二等级' '谢谢你' '谢谢你' '二等级' '谢谢你' '谢谢你' '一等级' '谢谢你' '二等级' '一等级']

按照给的list,生成10个奖品,各个奖品机率由p参数决定。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值