上海网站建设公司选哪家好,照明灯具类企业网站,宁波外贸网站设计,个人小程序怎么申请注册1. 什么是DataFrameDataFrame是一个表格型的数据结构#xff0c;它含有一组有序的列#xff0c;每列可以是不同的值类型#xff08;数值、字符串、布尔值等#xff09;。DataFrame既有行索引也有列索引#xff0c;它可以被看做由series组成的字典#xff08;共用同一个索…1. 什么是DataFrameDataFrame是一个表格型的数据结构它含有一组有序的列每列可以是不同的值类型数值、字符串、布尔值等。DataFrame既有行索引也有列索引它可以被看做由series组成的字典共用同一个索引2. DateFrame特点 DataFrame中面向行和面向列的操作基本是平衡的。 DataFrame中的数据是以一个或多个两维块存放的而不是列表、字典或别的一维数据结构。3. 创建DataFrame最常用的一种是直接传入一个由等长列表或NumPy数组组成的字典In [33]: data{state:[Ohio,Ohio,Ohio,Nevada,Nevada],year:[2000,2001,2002,2001,2002],pop:[1.5,1.7,3.6,2.4,2.9]}In [34]: frameDataFrame(data)#结果DataFrame会自动加上索引跟Series一样且全部列会被有序排列In [35]: frameOut[35]: pop state year0 1.5 Ohio 20001 1.7 Ohio 20012 3.6 Ohio 20023 2.4 Nevada 20014 2.9 Nevada 20024. 指定列顺序#使用clolumns指定列顺序In [36]: DataFrame(data,columns[year,state,pop])Out[36]: year state pop0 2000 Ohio 1.51 2001 Ohio 1.72 2002 Ohio 3.63 2001 Nevada 2.44 2002 Nevada 2.95. NA值跟Series一样如果传入的列在数据中找不到就会产生NA值In [37]: DataFrame(data,columns[year,state,pop,debt],index[one,two,three,four,five])Out[37]: year state pop debtone 2000 Ohio 1.5 NaNtwo 2001 Ohio 1.7 NaNthree 2002 Ohio 3.6 NaNfour 2001 Nevada 2.4 NaNfive 2002 Nevada 2.9 NaN6. 类似字典或属性标记通过类似字典标记的方式或属性的方式可以将DataFrame的列获取为一个SeriesIn [39]: frame[state] #或frame.stateOut[39]: 0 Ohio1 Ohio2 Ohio3 Nevada4 NevadaName: state, dtype: object7. 索引字段ix行注意返回的Series拥有原DataFrame相同的索引且其name属性也已经被相应地设置好了。行也可以通过位置或名称的方式进行获取比如用索引字段ixIn [44]: frame2.ix[one]Out[44]: year 2000state Ohiopop 1.5debt NaNName: one, dtype: object8. 通过赋值修改列列可以通过赋值的方式进行修改。例如可以给那个空的‘debt’列赋上一个标量值或一组值In [45]: frame2[debt]16.5 #或frame2.debtIn [46]: frame2Out[46]: year state pop debtone 2000 Ohio 1.5 16.5two 2001 Ohio 1.7 16.5three 2002 Ohio 3.6 16.5four 2001 Nevada 2.4 16.5five 2002 Nevada 2.9 16.5In [50]: frame2.debtnp.arange(5.)In [51]: frame2Out[51]: year state pop debtone 2000 Ohio 1.5 0.0two 2001 Ohio 1.7 1.0three 2002 Ohio 3.6 2.0four 2001 Nevada 2.4 3.0five 2002 Nevada 2.9 4.0将列表或数组赋值给某个列时其长度必须跟DataFrame的长度相匹配。如果赋值的是一个Series就会精确匹配DataFrame的索引所有的空位都将被填上缺失值In [52]: valSeries([-1.2,-1.5,-1.7],index[two,four,five])In [53]: frame2[debt]valIn [54]: frame2Out[54]: year state pop debtone 2000 Ohio 1.5 NaNtwo 2001 Ohio 1.7 -1.2three 2002 Ohio 3.6 NaNfour 2001 Nevada 2.4 -1.5five 2002 Nevada 2.9 -1.79. 关键字del删除列为不存在的列赋值会创建出一个新列。关键字del用于删除列In [55]: frame2[eastern]frame2.stateOhioIn [56]: frame2Out[56]: year state pop debt easternone 2000 Ohio 1.5 NaN Truetwo 2001 Ohio 1.7 -1.2 Truethree 2002 Ohio 3.6 NaN Truefour 2001 Nevada 2.4 -1.5 Falsefive 2002 Nevada 2.9 -1.7 FalseIn [57]: del frame2[eastern]In [58]: frame2.columnsOut[58]: Index([year, state, pop, debt], dtypeobject)警告通过索引方式返回的列只是相应数据的视图而已并不是副本。因此对返回的Series所做的任何就地修改全都会反映到源DataFrame上。通过Series的copy方法即可显示地赋值列。10. 嵌套字典嵌套字典也就是字典的字典In [62]: pop{Nevada:{2001:2.4,2002:2.9},Ohio:{2000:1.5,2001:17,2002:3.6}}#如果将它传给DataFrame它就会被解释为外层字典的键作为列内层键则作为行索引In [63]: frame3DataFrame(pop)In [64]: frame3Out[64]: Nevada Ohio2000 NaN 1.52001 2.4 17.02002 2.9 3.6内层字典的键会被合并、排序以形成最终的索引。如果显式指定了索引则不会这样In [66]: DataFrame(pop,index[2001,2002,2003])Out[66]: Nevada Ohio2001 2.4 17.02002 2.9 3.62003 NaN NaN由Series组成的字典差不多也是一样的用法In [68]: pdata{Ohio:frame3[Ohio][:-1],Nevada:frame3[Nevada][:2]}In [69]: DataFrame(pdata)Out[69]: Nevada Ohio2000 NaN 1.52001 2.4 17.011. 转置In [65]: frame3.TOut[65]: 2000 2001 2002Nevada NaN 2.4 2.9Ohio 1.5 17.0 3.612.索引对象Pandas的索引对象负责管理轴标签和其他元数据比如轴名称等。Index对象是不可修改的immutable因此用户不能对其进行修改。不可修改性非常重要因为这样才能使Index对象在多个数据结构之间安全共享。注意虽然大部分用户都不需要知道太多关于Index对象的细节但它们确实是pandas数据模型的重要组成部分。「亲如果笔记对您有帮助收藏的同时记得给点个赞、加个关注哦感谢」「文中代码均亲测过若有错误之处欢迎批评指正一起学习一起成长」