您的位置:首页 > 编程语言 > Python开发

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

2017-12-06 14:56 447 查看
前面我们已经使用过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
参数决定。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: