美文网首页
pandas库笔记

pandas库笔记

作者: 非鱼2018 | 来源:发表于2019-08-18 13:57 被阅读0次

    1.系列Series
    2.数据帧dataFrame
    3.分组groupby
    4.dataframe生成html以及excel

    #codeing=utf-8
    import pandas as pd
    import numpy as np
    
    #1.系列(Series)
    #通过列表创建系列
    list1=[1,2,3,4,5]
    data=np.array(['a','b','c','d'])
    s=pd.Series(list1)
    #指定索引,默认索引是从0开始
    s2=pd.Series(data,index=[1,2,3,4])
    
    #通过字典创建系列
    data2= {'a' : 0.,'b' : 1.,'c' : 2.}
    s3=pd.Series(data2)
    
    #常量创建
    s4=pd.Series(1,index=[1,2,3,4])
    #读取系列
    print(s)
    print(s3)
    print(s4)
    print(s4[1:])
    
    #2数据帧(dataframe)
    
    df=pd.DataFrame()
    data= [1,2,3,4,5]
    df= pd.DataFrame(data,index=[1,2,3,4,5],columns=['name'])
    data= [['zs',10],['ls',12],['ww',13]]
    df= pd.DataFrame(data,columns=['Name','Age'],dtype=float)
    
    #比较常用的创建方法(name、age为列)
    
    data= {'Name':['Tom','Jack','Steve','Ricky'],'Age':[28,34,29,42]}
    df= pd.DataFrame(data,index=['rank1','rank2','rank3','rank4'])
    print(df)
    
    #通过字典列表
    data= [{'a': 1,'b': 2},{'a': 5,'b': 10,'c': 20}]
    df= pd.DataFrame(data)
    
    
    #从系列的字典来创建DataFrame
    d= {'one' : pd.Series([1,2,3],index=['a','b','c']),
    'two' : pd.Series([1,2,3,4],index=['a','b','c','d'])}
    df= pd.DataFrame(d)
    
    #3.合并行,使用groupby分组函数,再对其余列进行处理,再进行重建索引
    #如果分组后还有多个列处理,可分别处理后,再使用merge合并
    #group by经常用于数据分组求和求平均等等,
    
    data= {'card': ['home','home','home','add-card','add-card'],
    'app_name': ['channel','channel','channel','IT','IT'],
    'page':['channel1','channel2','channel3','IT1','IT2'],
    'url':['url1','url2','url3','url4','url5']
    
    }
    df= pd.DataFrame(data)
    #增加一列
    #df['full_url']=df.apply(lambda x: str(x['app_name']) +'|' +str(x['page']),axis=1)
    df1= df.groupby(['card','app_name'])['url'].apply(lambda x: ','.join(x)).reset_index()
    df2= df.groupby(['card','app_name'])['page'].apply(lambda x: ','.join(x)).reset_index()
    pd3=pd.merge(df1,df2)
    print(pd3)
    
    #4使用pandas生成excel和html非常方便
    df.to_html('report.html',index=False)
    df.to_excel("output.xlsx",sheet_name='SHEET1')
    

    </pre>

    相关文章

      网友评论

          本文标题:pandas库笔记

          本文链接:https://www.haomeiwen.com/subject/cirrjctx.html