14数据结构之DataFrame

DataFrame

一、何为DataFrame?

  • DataFrame是一个表格型的数据结构,它由一组有序的列组成;它有行索引,也有列索引,可以被看做由Series组成的字典(共用同一个索引)

二、如何创建DataFrame?

import pandas as pd
df = pd.DataFrame([[1,2],[3,4]]) 
df1 = pd.DataFrame([[1,2],[3,4]],columns=['zhang','li'],index=['a','b']) 
df2 = pd.DataFrame({'zhang':[1,3],'li':[2,4]})
df3 = pd.DataFrame({'zhang':[1,3],'li':[2,4]},columns=['zhang','li','hu'],index=['a','b']) 
df4 = pd.DataFrame({'zhang':{'a':1,'b':3},'li':{'a':2,'b':4}},columns=['zhang','li','hu'],index=['a','b','c'])
  • 参数columns用于调整列的顺序、创造新列

三、DataFrame的属性

  • values属性:df.values
  • index属性:df.index
  • columns属性:df.columns
  • name属性:df.columns.name,df.index.name

四、DataFrame的选取

  • 获取整列:df4.zhang(推荐)、df4['zhang']、df4.loc[:,'zhang']、df4.iloc[:,0]、df4.loc[:,['zhang','li']]、df4.iloc[:,:2]、df4[['zhang','li']]
  • 获取整行:df4.loc['a',:]、df4.iloc[0,:]、df4.loc[['a','b'],:]、df4.loc['a':'b',:]、df4.iloc[:2,:]、df4[:2](常省略表示所有列的':'号)
  • 获取子DataFrame:df4.loc['a':'b','zhang':'li']、df4.iloc[:2,:2]
  • 获取元素值:df4.loc['a','zhang']、df4.iloc[0,0]
  • 基于条件获取:df4[df4 < 3]、df4[df4.zhang < 2](基于列内容获取子DataFrame)

五、DataFrame的索引字段ix

  • 近似于集成了索引字段loc、iloc以及条件获取的功能

六、DataFrame的修改

  • 列的修改:df3.hu = 3、df3.hu = [3,5](标量或序列)
  • 行的修改:df3.ix['a'] = 6、df3.ix['a'] = [6,7,8](标量或序列)
  • 修改列/行中部分数据可以传入特定索引的Series
  • 为不存在的列赋值会创造出新列:df3['wang'] = 8;注意:df3.wang = 8不能创造新列
  • 为不存在的行赋值会创造出新行:df3.ix['c'] = 9
  • 删除某列:del df3['wang'] 、df3.drop('wang',axis=1);注意:del df3.wang不能删除某列
  • 删除某行:df3.drop('c')

七、 两个绘图小知识点

  • Series、DataFrame的index默认被用来绘制X轴,可通过use_False=False禁用该功能
  • DataFrame列的name被用作图例的标题
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容