目录
- np.random()
- 指定范围
- 不指定范围
- np.arange()
- 利用字典创建
- 利用列表进行创建
- 创建时指定索引为复合索引
- 高级创建
np.random()
指定范围
生成[0,100]的随机数
import pandas as pd
import numpy as np
df = pd.DataFrame(np.random.randint(0,101,size=(3,3)),columns=['python','math','english'],index=['张三','李四','王五'])
display(df)
不指定范围
import pandas as pd
import numpy as np
# 随机生成100000行3列的数据
df = pd.DataFrame(np.random.randn(100000,3),columns = ['red','green','blue'])
df.head()
np.arange()
利用字典创建
法一
法二
利用列表进行创建
创建时指定索引为复合索引
import numpy as np
import pandas as pd
from pandas import Series,DataFrame
df = DataFrame(np.random.randint(0,150,size = (6,3)),
columns=['Python','Math','En'],
index=pd.MultiIndex.from_product([['张三','李四','王五'],['期中','期末']]))
高级创建
卖菜人一个月的卖菜情况
item:菜名 salesman:卖菜人 weight:进菜重量 price:卖菜价格
import pandas as pd
import numpy as np
# 生成100行4列数据
df = pd.DataFrame({'item': np.random.randint(0,10,size=100),
'salesman':np.random.randint(0,10,size=100),
'weight':np.random.randint(30,300,size=100),
'price':np.random.randint(1,20, size=100)})
df
# item 菜名
def convert_item(x):
if x < 2:
return '萝卜'
elif x <7:
return '白菜'
else:
return '青椒'
df['item'] = df['item'].map(convert_item)
df
# 这里给出一个意义。salesman这一列生成的随机数为卖菜人出摊日号,张大妈在5号以内出摊,其它人依次类推
def convert_salesman(x):
if x <5:
return '张大妈'
elif x <7:
return '李大妈'
else:
return '赵大爷'
df['salesman'] = df['salesman'].map(convert_salesman)
df
# 批发菜的重量 一般都为整数
def convert_weight(x):
if x < 80:
return 50
elif x <150:
return 100
else:
return 150
df['weight'] = df['weight'].transform(convert_weight)