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

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

六、DataFrame的修改

  • 列的修改:df3.hu = 3df3.hu = [3,5](标量或序列)
  • 行的修改:df3.ix['a'] = 6df3.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')

七、 两个绘图小知识点

  • SeriesDataFrameindex默认被用来绘制X轴,可通过use_False=False禁用该功能
  • DataFrame列的name被用作图例的标题
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容