前面我们已经使用过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
参数决定。