首页 > 其他 > 详细

DataFrame的构建及一些操作

时间:2017-01-16 19:22:39      阅读:260      评论:0      收藏:0      [点我收藏+]

一、DataFrame构建

1.用多个列表构建

#构建DataFrame

#self._stkpool_uni、codes、end_date(这些list用append填充值,保证各个list中元素个数一致)
        dfData = {"STK_UNI_CODE":self._stkpool_uni, "STK_CODE":codes, "END_DATE":end_date,
                  "SCORE_FAC":score, "DIS_FAC":descri, "RAT_FAC":star, "MAC_FAC":mac}
        df = pd.DataFrame(data=dfData)

 

2.用一个列表构建(其中列表元素为dict,dict的值来自tuple)

  findata_list = []              #定义一个空list
   for res in query_Object:          #res是元组
            dict_fin = {}             #定义一个空dict
            for arr in range(0,len(res)):       #for循环元组
                dict_fin[columns[arr]] = res[arr]   #给dict填值
            findata_list.append(dict_fin)      #给list填值
       dfQuery = pd.DataFrame(findata_list)   #通过list构建DataFrame

 

二、DataFrame一系列小操作总结

1.DataFrame排序

  ①.根据列值排序(sort_values)

    df_return = df_return.sort_values([‘date‘, ‘gpcode‘], ascending=[0,1])  # 排序,0倒序,1正序

  ②.根据索引值排序(sort_index)

    dfSort = dfSort.sort_index(ascending=False)

 

2.DataFrame query

  strsql = "index <= ‘{0}‘".format(date)
      df_entrydate = dfSort.query(strsql)

 

3.DataFrame取值

  ①根据已知索引取值(ix)

    res= dfQuery.ix[index]

  ②取一段数据块(iloc)

    ret = copy.copy(df_entrydate.iloc[:1])   #取dataframe第一行数据

 

4.DataFrame更改某列的某一个值(loc[索引值,列名])

  df_stopdate.loc[df_stopdate.index, "date"] = dict_stopdate[key]

 

5.DataFrame设置索引(set_index)

  ①df_return = df_return.set_index(‘a‘, ‘b‘)

  ②

  import copy
  ret = copy.copy(df_entrydate.iloc[:1])   #取dataframe第一行数据
      ret.index=[[gpcode],[date]]
      ret.index.names=["gpcode","date"]
      df_return = df_return.append(ret)

 

6.DataFrame取一列索引的值

  ①一重索引取值

    df.index.tolist()

  ②多重索引取值(df.index.get_level_values(‘列名‘))

    dfQuery.index.get_level_values(‘gpcode‘)

 

7.DataFrame删除某一列(del)

  del(df_entrydate["gpcode"])

 

未完待续。。。

 

DataFrame的构建及一些操作

原文:http://www.cnblogs.com/SZxiaochun/p/6290514.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!