zoukankan      html  css  js  c++  java
  • pandas(三)

    合并数据集:

      创建一个能创建dataframe的函数

      def make_data(cols,ind):

        data={c:[strc(c)+str(i) for i in ind] 

          for c in cols}

        return pd.DataFrame(data,ind)

       make_data('ABC',range(3))

    一维数组

    ser1 = pd.Series(['a','b','c'],index=[1,2,3])

    ser2 = pd.Series(['d','e','f'],index=[4,5,6])

    pd.concat([ser1,ser2])  

    二维数组

    df1 = make_data('ab',[1,2])

    df2 = make_data('ab',[3,4])

    pd.concat([df1,df2])  默认逐行合并axis=0(上下合并)

    pandas 在合并索引时会保留索引,即使是重复的

    触发索引重复异常:

    veriy_integrity参数可以触发索引重复异常

    try:

      pd.concat([x,y],verify_integrity=True)

    except  ValueError as e:

      print('v')

    忽略索引重复异常:

    ignore_index可以实现忽略原先索引重新创建一个整数索引

       

    当列名有相同也有不相同时

    join,join_axes

    join默认参数是outer 取两个数组的并集

    inner指取两个数组的交集

    append效果和concat相同

    df1.append(df2)

    重复列名 suffixes

    df8 = pd.DataFrame({'name':['a','b','c'],'rank':[1,2,3]})

    df9 = pd.DataFrame({'name':['a','b','c'],'rank':[4,5,6]})

    pd.merge(df8,df9,on='name',suffixes=['_L','_R'])

    merge效果和concat相同,on表示以name这一列为基础合并,suffixes表示将相同的两列区分

      

  • 相关阅读:
    Redis(八)理解内存
    Redis(七)Redis的噩梦:阻塞
    Redis(六)复制
    Redis(五)持久化
    笔试面试经典问题
    两个栈实现一个队列
    单链表相关操作
    我的笔记本
    10进制正整数转4位定长的36进制字符串
    微软2016校园招聘在线笔试之Magic Box
  • 原文地址:https://www.cnblogs.com/saber-xi/p/10643940.html
Copyright © 2011-2022 走看看