zoukankan      html  css  js  c++  java
  • dataframe使用笔记

     1 dates=pd.date_range('20160728',periods=6) #创建固定频度的时间序列
     2 df=pd.DataFrame(np.random.randn(6,4),index=dates,columns=list('ABCD')) #创建6*4的随机数,索引,列名称。
     3 df2=pd.DataFrame({'A':pd.Timestamp('20160728'),'B':pd.Series(1)})#字典创建Dataframe,假如字典的数据长度不同,以最长的数据为准。
     4 df2.dtypes #查看各行的数据格式  
     5 df2.head()  df2.tail(5) #查看前、后几列
     6 df.columns  df.value #查看列名、value
     7 df.describe() #查看描述性的统计,比如每一列的count、mean、std(标准差)...
     8 df.T  df.sort(columns='C') #转秩、排序
     9 df['A']   df[1:3]#选择A列数据,选择1-2行数据,切片操作得到的是行数据。
    10 df.loc[:,['A','B']] #选择多列数据
    11 df.loc['20160728':'20160730',['A','B']] #选择局部区域
    12 df.at[dates[0],'A'] #选择某个值
    13 df.iloc[3]  df.iloc[1,1]#提取第四行数据,取第2行第2列的这个数
    14 df.iloc[3:5,0:2] #像array一样切片操作
    15 df.iloc[[1,2,4],[0,2]] #提取不连续的行和列
    16 df.iat[1,1]#专门取某个数,效率比较高
    17 df[(df.D>0)&(df.C<0)] #选择D列数据大于0的行
    18 df[['A','B']][(df.D>0)&(df.C<0)]#选择D列数据大于0的行,只返回A,B两列
    19 df['D'].isin(alist)#alist是一个预先定义的列表,把要筛选的值写到列表中,查找D数据中含有alist的值
    20 os.getcwd()#获得当前的工作目录
    21 df=pd.read_csv('',encoding='gbk',sep=',')#读取csv文件
    22 counts=df[u'专业名称'].value_counts() #计数统计
    23 plt=counts.plot(kind='bar').get_figure()
    24 plt.savefig('d/plot.png')  #画图
    25 good=df[df[u'高考分数']>520] #筛选
    26 good_counts=good[u'专业名称'].value_counts()
    27 per=good_counts/counts #计算百分比,直接利用矩阵的除法
    28 df.groupby('A').first() #按A列分组,输出每一组的第一行数据
    29 df.groupby(['A','B']) #按两列分组
    30 #创建函数,作为分组标准。 下例:如果列名是abem中的之一,就分为组别v反之为w
    31 def get_type(letter):
    32     if letter.lower() in 'abem':
    33        return 'v'
    34     else:
    35        return 'w'
    36 grouped=df.groupby(get_type,axis=1)
    37 
    38 import pandas.util.testing as tm
    39 colors=tm.choice(['red','green'],size=10)
    40 foods=tm.choice(['eggs','ham'],size=10) #随机创建两个数组
    41 index=pd.MultiIndex.from.arrays([colors,foods],names=['color','food'])  #创建MultiIndex对象,然后创建DataFrame对象
    42 df.pd.DataFrame(np.random.randn(10,2),index=index)
    43 print df.query('color=="red"') #查询
    44 grouped=df.groupby(level='food')#在分组中使用索引
    45 df.index.names=[None,None]
    46 print df.query('ilevel_0=="red"')#删除了索引名称,只能使用ilevel_0表示第一个索引
  • 相关阅读:
    Python什么是二次开发的意义?python在.net项目采用
    斐波那契数
    Java 兑换ObjectC代码
    第18本:《整理的艺术》
    第16本:《视觉繁美:信息可视化方法与案例解析》
    第14本:《李鸿章传》
    第10本:《设计心理学》
    第17本:《代码的未来》
    第15本:《视不可当----信息图与可视化传播》
    第13本:《富爸爸,穷爸爸》
  • 原文地址:https://www.cnblogs.com/keye/p/7705126.html
Copyright © 2011-2022 走看看