资讯专栏INFORMATION COLUMN

如何使用Python Pandas添加相关的行列数据

89542767 / 570人阅读


  小编接下来就会给大家讲解一些内容,讲解一些关于数据库的一些内容,包括数据中的行列要求,那么,怎么使用Python Pandas去进行添加行和列呢?下面给大家详细的解答下。


  人们总是会有一个遗忘规律的,比如会忘记相关数据库的一些内容,那么,我们怎么进行学习呢,怎么做到以后也能及时的复习呢?那我们来看看pandas添加数据的一些方法


  创建一个dataframe

01.png

  1.增加列数据


  为dataframe增加一列新数据,需要确保增加列的长度与原数据保持一致

02.png

  如果是增加一列相同数据可以直接输入


 df['level']=1


  插入的数据是需要通过源数据进行计算的(eval这个方法感觉比较好用)

 

 df.eval('grade_level=grade*level',inplace=True)


  使用insert函数可以在指定列添加列数据,这个函数有好几个参数,使用更加灵活


  df.insert(loc,column,value,allow_duplicates=False)

03.png

  增加列数据的方法还有很多,我只把自己比较常用的记录了下来


  2.增加行数据


  比较多的方法有loc、iloc、append都行,先看loc这个方法,它是通过df.loc[index名称]=[对应的数据],这个方法要主要index如果是与原表中有重复,则会将原数据修改,如果没有重复的话,就是在最后面添加对应数据,其中的index名称是根据输入的写入,需要注意!

04.png

  第二个是通过df.iloc[index位置]=[对应数据]进行修改这个方法是对原有数据进行修改,并不是增加一行数据

05.png

  使用append()函数添加一行数据,其中ignore_index=True,否则报错


  append()往往做法比较多的是添加一个另外一个dataframe的数据到原来数据上,爬虫时候用得比较多,将每一页的数据保存到一个临时的dataframe中,将这个临时的dataframe数据插入到总的dataframe后面,最后得到总的数据,且效率较高

06.png

  当然还有concat、merge等方法可以达到相同的效果,下次有机会在继续学习


  补充:pandas根据现有列新添加一列


  pandas中一个Dataframe,经常需要根据其中一列再新建一列,比如一个常见的例子:需要根据分数来确定等级范围,下面我们就来看一下怎么实现。


  def getlevel(score):
  if score<60:
  return"bad"
  elif score<80:
  return"mid"
  else:
  return"good"
  def test():
  data={'name':['lili','lucy','tracy','tony','mike'],
  'score':[85,61,75,49,90]
  }
  df=pd.DataFrame(data=data)
  #两种方式都可以
  #df['level']=df.apply(lambda x:getlevel(x['score']),axis=1)
  df['level']=df.apply(lambda x:getlevel(x.score),axis=1)
  print(df)
  上面代码运行结果
  name score level
  0 lili 85 good
  1 lucy 61 mid
  2 tracy 75 mid
  3 tony 49 bad
  4 mike 90 good


  要实现上面的功能,主要是使用到dataframe中的apply方法。


  上面的代码,对dataframe新增加一列名为level,level由分数一列而来,如果小于60分为bad,60-80之间为mid,80以上为good。


  其中axis=1表示原有dataframe的行不变,列的维数发生改变。


  本篇文章,小编就为大家介绍到这里了,希望能给大家带来更多的帮助。


文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/127980.html

相关文章

  • Pandas之旅(一): 让我们把基础知识一次撸完,申精干货

    为什么你需要pandas 大家好,今天想和大家分享一下有关pandas的学习新的,我因工作需要,从去年12月开始接触这个非常好用的包,到现在为止也是算是熟悉了一些,因此发现了它的强大之处,特意想要和朋友们分享,特别是如果你每天和excel打交道,总是需要编写一些vba函数或者对行列进行groupby啊,merge,join啊之类的,相信我,pandas会让你解脱的。 好啦,闲话少说,这篇文章的基础...

    tuomao 评论0 收藏0
  • 【精华分享】:转行数据分析一份学习清单

    摘要:数据分析的发展方向一般有商业方向,行业分析业务方向,和机器学习数据挖掘方向。机器学习的书籍推荐统计学习方法,机器学习,机器学习实战三本书。 作者:xiaoyu 微信公众号:Python数据科学 知乎:python数据分析师 上一篇主要分享了博主亲身转行数据分析的经历: 【从零学起到成功转行数据分析,我是怎么做的?】 本篇继上一篇将分享转行数据分析的一些经验和学习方法,看完这篇你将会解...

    suemi 评论0 收藏0
  • 新书《全栈数据之门》完整目录

    摘要:全栈数据之门前言自强不息,厚德载物,自由之光,你是我的眼基础,从零开始之门文件操作权限管理软件安装实战经验与,文本处理文本工具的使用家族的使用综合案例数据工程,必备分析文件探索内容探索交差并补其他常用的命令批量操作结语快捷键,之门提高效率光 showImg(https://segmentfault.com/img/bVK0aK?w=350&h=350); 全栈数据之门 前言 自强不息,...

    yibinnn 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<