python学习打卡第一天

import pandas as pd
import numpy as np
from numpy import random


#数组-矩阵-列表之间互相转换
#字典
dict = {'a':[1,2,3],'b':[4,5,6],'c':[7,8,9]}
del(dict) 
dict([('one', 1), ('two', 2), ('three', 3)])

#列表(list)
a1=[1,2,3]
b1=[[1, 2, 3], [4, 5, 6]]

#数组(array)
a2=np.array(b1)
b2=np.arange(0,10,1,dtype=np.float)
np.zeros((2,3)).tolist()
np.indices((4,4)).tolist()
np.linspace(1,10,10) #在区间[start-1,stop-4]中,返回“num-4”(第三为num)个等间距的样本
np.random.rand(4,2) #随机生成四行两列的随机数。
random.randint(0,10, size=5) #随机生成0到10之间的5个整数(可重复)
np.random.random(size=5)#随机生成0-1之间的5个小数
np.random.uniform(0,3,size=5)#随机生成0-3之间的5个小数
#矩阵(matrix)
a3=np.mat(a1)

#数据框(datafame)
a3=pd.DataFrame(dict)
arraytodataframe = pd.DataFrame(b1,columns=['a','b','c'])
b3=a3.values #dataframe转array

#列表(list)-元素数据类型可以不一样;数组(array)-元素数据类型一样
ArrayToList1 = a2.tolist()  # 矩阵转列表:[[1, 2, 3], [4, 5, 6]]
ArrayToList2 = list(a2)  # 注意点2: [array([1, 2, 3]), array([4, 5, 6])]

#练习题:
#创建dataframe
data={'name':['xiaozhang','xiaoli','lily','tony'], 'sex':['boy','girl','girl','boy'], 'age':[12,11,10,11],
'number':np.random.randn(4), 'class':np.linspace(1,4,4)}
data1=pd.DataFrame(data)

#创建二维数组  
#方法一:
records=np.arange(0,20)
result=[]
for y in range(0,4): 
    a=[]
    for x in range(0,5):
        a.append(records[x+y*5])           
    result.append(a)
print(result)

#方法二:
result2=[[np.arange(0,20)[x+y*5] for x in range(0,5)] for y in range(4)]

#方法三:
x=np.arange(0,20)
result3=x.reshape((4,5))


#找出共同元素
a=[0,1,2,3]
b=[2,3,4,5]
c=[]
for i in a:
    for j in b:
        if i==j:
            c.append(i)
        else:
            continue
print(c)

c=[x for x in a if x in b] #简写

#大于等于3的替换为3,小于等于1的替换为1
#方法一:
x=[0,1,2,3]
y=[]
for i in x:
    if i>=2:
        y.append(2)
    elif i<=1:
        y.append(1)
print(y)

#方法二:
y=pd.DataFrame(x,columns=['value'])
def fun(x):
    if x>=2:
        return(2)
    elif x<=1:
        return(1)
y['value']=y['value'].apply(lambda x: fun(x))

#mapping(按a的value排序)
a = {'a':0,'b':1,'c':2}
b = pd.DataFrame({'city':['a','b','c'],'number':np.random.randint(0,10,size=3)})
c=pd.DataFrame(a,index=[0]).T.reset_index()
c.columns=['city','num']
d=pd.merge(b,c,on='city').sort_values(by='num',ascending=True)

#删除重复值(使用set集合可以去除重复元素)
a=[0,1,2,3]
b=[2,3,4,5]
#方法一:
list(set(a+b))
#方法二:
set(b)|set(a)
#方法三:
c = {}.fromkeys(a+b).keys()
#方法四:
c=[]
for i in a+b:
    if i not in c:
        c.append(i)
c

2020.06.24

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值