精华内容
下载资源
问答
  • 有时候我们不需要全部显示,只想看看前几行数据,这时可以使用df.head(),括号为空时,默认显示前5行数据,如图: 或者在读取文件时设置nrows参数,给它一个值,控制显示行数 df=pd.read_excel('D:/Desktop/

    Python—Pandas读取数据时显示前几行和最后几行

    #先导入模块
    import pandas as pd
    

    读取文件

    #读取数据
    df=pd.read_excel('D:/Desktop/测试数据/测试数据.xlsx')
    #显示所有数据
    df
    

    显示结果
    数据为轨迹数据

    1显示前几行

    有时候我们不需要全部显示,只想看看前几行数据,这时可以使用df.head(),括号为空时,默认显示前5行数据,如图:
    在这里插入图片描述

    2显示最后几行

    显示前几行,用到了头—head,那么显示最后几行,想一想应该可以想到要用脚—foot,开玩笑的,是尾巴—tail,用法和上面的head一样

    df.tail()
    

    在这里插入图片描述
    谢谢阅读,一起学习!

    展开全文
  • 很多函数基于numpy库,主要用于数据的预处理阶段。....head函数:显示刚才读取的几条数据,默认是5 .tail()函数:显示最后几行数据 .columns:显示列名 .shape:看矩阵的大小(样本数,指...

    很多函数基于numpy库,主要用于数据的预处理阶段。

    一、数据读取

    pandas.read_csv():读取数据文件

    DataFrame类型:和矩阵很像,有行有列。可以包含几种类型的结构,其中将字符型的值称作“object”。

    .head函数:显示刚才读取的前几条数据,默认是5

    .tail()函数:显示最后几行的数据

    .columns:显示列名

    .shape:看矩阵的大小(样本数,指标数)

    dtype的类型有这些:object(String value)/ int/ float/ datatime/bool

    import pandas
    
    food_info=pandas.read_csv('food_info.csv')
    print(type(food_info)) #查看food_info的数据类型 dataFrame类型
    print(food_info.dtypes) #查看food_info中每一项数据是什么类型
    print(food_info.columns) # 查看所有的列名称,返回一个元组类型
    print(help(pandas.read_csv)) #获取帮助
    
    print(food_info.head(3))
    print(food_info.tail(2))
    print(food_info.shape) #(8618, 36)

    二、索引与计算

    1. 访问行、列(记录,属性)

    # 访问行:一行,特定的几行,从某行到某行
    print(food_info.loc[0]) #注意:这个同矩阵不同,输出的并不是实际表格中的第一行,二是第二行,也就是表格中的第一个记录
    print(food_info.loc[[1,2]]) #将要想要访问的行数以列表的形式传入
    print(food_info.loc[1:3]) #注意,此时只有一个大括号
    
    # 访问列:一列,特定的几列
    print(food_info["Water_(g)"]) #打印Water_(g)这一列的所有值
    print(food_info[['NDB_No','Water_(g)']]) #打印 'NDB_No','Water_(g)'这两列的值
    
    # 输出所有列名
    col_name=food_info.columns.tolist() #以列的形式输出所有的属性名称
    print(col_name)
    
    # 输出以“”为结尾的列
    gram_columns=[]
    for c in col_name:
        if c.endswith('(g)'):
            gram_columns.append(c) #python原有的,列表的常用函数,增加元素
    gram_df=food_info[gram_columns]
    print(gram_df)

    2. 运算,增加属性(就像字典那样,直接增加,但是要注意,维度要相等)

    # 除法:将单位是mg等人化为g,并放在一个新的列中
    Iron_gram=food_info['Iron_(mg)']/1000
    print(food_info.shape) #(8618, 36)
    food_info['Iron_(g)']=Iron_gram
    print(food_info.shape) #(8618, 37)
    
    #乘法,相同维度的,就是点乘了,对应位置相乘
    water_energy=food_info['Water_(g)']*food_info['Energ_Kcal']
    print(water_energy)

    3. 寻找最大值

    # 查找最大值
    max_calories=food_info['Energ_Kcal'].max()
    print(max_calories)

    4. 排序

    # 排序    NAN是缺失值,都是放在最后的
    food_info.sort_values('Sodium_(mg)',inplace=True) #对Sodium_(mg)这一列进行从小到大排序,并生成一个新的dataframe
    print(food_info)
    food_info.sort_values('Sodium_(mg)',inplace=True,ascending=False) #关闭升序,相当于进行从大到小

    5. 实例:泰坦尼克竞赛那题

    (1)判断元素是否为空,计算为空的个数

    import numpy as np
    import pandas as pd
    
    titanic_survival=pd.read_csv('titanic_train.csv')
    print(titanic_survival.head(3))
    
    # pandas.isnull() 用于元素判断为空
    age=titanic_survival['Age'] #访问Age这一列
    age_is_null=pd.isnull(age) #逐一判断是否为空
    # print(age_is_null) #输出就是false/true,告诉你哪个为空
    age_null_true=age[age_is_null] #把true的部分提取出来,赋值给age_null_true
    # print(age_null_true)
    print('为空的数目:'+str(len(age_null_true))) #177
    # 删去为空的记录
    drop_na_column=titanic_survival.dropna(axis=1)
    new_titanic_survival=titanic_survival.dropna(axis=0,subset=['Age','Sex'])
    print(new_titanic_survival)

    (2)计算平均值(错误范例,按类别计算平均值。。)

    # 计算平均值
    # 错误计算,把空值也包括进去
    mean_age=sum(titanic_survival['Age'])/len(titanic_survival['Age'])
    print(mean_age) #nan
    
    # 正确
    good_age=titanic_survival["Age"][age_is_null==False] #!!!将Age这一列中,非空的行取出来,放在good_age中
    correct_mean_age=sum(good_age)/len(good_age)
    print(correct_mean_age) #29.69911764705882
    
    # 更加简便的方式,mean()函数
    # 然而这种方式将缺失值直接删去的
    correct_mean_age2=titanic_survival['Age'].mean()
    print(correct_mean_age2) #29.69911764705882
    分别求每个舱位的平均价格
    # 分别求每个舱位的平均价格
    passager_classes=[1,2,3]
    fares_by_class={}
    for this_class in passager_classes:
        pclass_rows=titanic_survival[titanic_survival['Pclass']==this_class] #将某一舱位的所有乘客信息存在pclass_rows中
        pclass_fares=pclass_rows['Fare'] #将这一舱位的所有价格提取出来,存在pclass_fares中
        fare_for_class=pclass_fares.mean() #计算平均值
        fares_by_class[this_class]=fare_for_class #在存储‘舱位-价格’的字典中,添加数据
    print(fares_by_class) #{1: 84.1546875, 2: 20.662183152173913, 3: 13.675550101832993}
    
    # 更加便捷的方式!!!
    fares_by_class2=titanic_survival.pivot_table(index='Pclass', values='Fare',aggfunc=np.mean) #默认是进行平均计算
    print(fares_by_class2)
    
    port_stats=titanic_survival.pivot_table(index='Embarked',values=['Fare','Survived'],aggfunc=np.sum)
    print(port_stats) #强化练习:按港口售出的船票总价和获救人数

    (3)定位到具体的一个数据项

    # 定位到一个具体的值
    row_index_83_age=titanic_survival.loc[83,'Age'] #索引83,所以是第84条记录处的年龄
    print(row_index_83_age)

    (4)排序

    #排序
    new_titanic_survival=titanic_survival.sort_values('Age',ascending=False) #对年龄这一列进行降序排列
    print(new_titanic_survival.head(10))
    titanic_reindexed=new_titanic_survival.reset_index(drop=True) #重新排序
    print(titanic_reindexed)

    (5)自定义函数

    # 自定义函数操作apply
    # 自定义的一个函数,返回某dataframe的第99行
    def hundred_row(column):
        hundredth_item=column[99]
        return hundredth_item
    
    hundredth_row=titanic_survival.apply(hundred_row)
    print(hundredth_row)
    
    # 例2:计算每个列的缺失值并输出,这个有一点点不理解,先记着
    def null_count(column):
        column_null=pd.isnull(column)
        null=column[column_null]
        return len(null)
    column_null_count=titanic_survival.apply(null_count)
    print(column_null_count)

    (6)其他:通过set_index函数可以设置其他index,可以是字符串,但同时,数字的索引还是可以用的

     

    三、Series结构

    1. 含义:series can be regarded as a collection of values, 而 DataFrame ——collection of Series objects

        pandas内部定义的,DataFrame相当于数据读进来之后的那个矩阵,Series就是一行或者一列

    2. 操作

    (1)读取csv文件,将其中某列读取为series格式,观察

    import numpy as np
    import pandas as pd
    from pandas import Series
    
    fandango=pd.read_csv('fandango_score_comparison.csv')
    series_film=fandango['FILM']
    print(type(series_film)) #<class 'pandas.core.series.Series'>
    print(series_film[0:5]) # 输出前5条记录的电影名称
    
    film_name=series_film.values #把电影名全部赋值给film_name
    print(film_name)
    print(type(film_name)) #<class 'numpy.ndarray'>,所以说,建立在numpy的基础之上呀

    (2)series的特殊操作:将两个相同维度的series合并为一个大的series,并指定一个作为index

    series_rt=fandango['RottenTomatoes']
    rt_scores=series_rt.values
    series_custom=Series(rt_scores,index=film_name) #将RT这个电影院的分数和电影的名称这两列(series)组成一个大的series,像一个矩阵一样,其中index是电影名称
    print(series_custom[['The Lazarus Effect (2015)','Phoenix (2015)']])
    #此时,数字索引同样可以用
    print(series_custom[0:3])
    # print(type(series_custom)) #<class 'pandas.core.series.Series'>

    (3)排序(用得少)

    # 排序
    original_index=series_custom.index.tolist()
    sorted_index=sorted(original_index)  #重新排序,按字母的顺序排序
    sorted_by_index=series_custom.reindex(sorted_index)
    print(sorted_by_index)

    (4)运算,一个series的计算,两个series相同index可进行计算

    # 运算
    print(np.add(series_custom,series_custom))
    print(np.sin(series_custom))
    print(np.max(series_custom))
    
    series_custom_greater_than_60=series_custom[series_custom>60]
    print(series_custom_greater_than_60)
    
    #两个series的index相同的时候,对象项可以相加减
    rt_cri=Series(fandango['RottenTomatoes'].values,index=fandango['FILM'])
    rt_users=Series(fandango['RottenTomatoes_User'].values,index=fandango['FILM'])
    rt_mean=(rt_cri+rt_users)/2
    print(rt_mean)

     

     

    展开全文
  • 就可以使用head()方法把数据表中前几行数据显示出来查看 ''' # 指定读取几行 # print(df.head(2)) # 默认读取5行 # print(df.head()) # 利用shape()方法获取数据表的大小 # print(df.shape) ''' 熟悉数据的第二...
    import pandas as pd
    
    df = pd.read_csv('demo.csv')
    
    '''
    当数据表中的数据行数过多时,而我们又想看一下每一列数据都是什么样的数据时
    就可以使用head()方法把数据表中前几行的数据显示出来查看
    '''
    # 指定读取几行
    # print(df.head(2))
    # 默认读取5行
    # print(df.head())
    
    # 利用shape()方法获取数据表的大小
    # print(df.shape)
    
    '''
    熟悉数据的第二步就是看一下数据类型
    可以使用info()方法查看数据表中的数据类型
    info()方法会输出所有列的数据类型
    '''
    # RangeIndex代表行索引,会打印总行数和行索引
    # non-null代表非空
    # Dtype代表类型
    # memory usage代表共占用内存
    # print(df.info())
    
    
    '''
    第三步就是掌握数值的分布情况
    均值,方差,最值,分位数等
    '''
    # print(df.describe())
    
    
    展开全文
  • python进行数据分析时,查看数据,经常发生数据被自动显示成科学记数法的模式,或者多行多列数据显示前后几行几列,中间都是省略号的情形。 汇总了下解决办法,记录: 环境如下: python version == 3.6 ...

    博客1031

    用python进行数据分析时,查看数据,经常发生数据被自动显示成科学记数法的模式,或者多行多列数据只显示前后几行几列,中间都是省略号的情形。
    汇总了下解决办法,记录:
    环境如下:
    python version == 3.6
    numpy version == 1.11.3
    pandas version == 0.19.2

    numpy

    import numpy as np
    np.set_printoptions(suppress=True, threshold=np.nan)
    

    suppress=True 取消科学记数法
    threshold=np.nan 完整输出(没有省略号)

    pandas

    import pandas as pd
    pd.set_option('display.max_columns', 10000, 'display.max_rows', 10000)
    

    display.max_columns 显示最大列数
    display.max_rows 显示最大行数

    顺便记下文档里这两个函数的参数:

    np.set_printoptions

    np.set_printoptions(precision=None, threshold=None, edgeitems=None, linewidth=None, suppress=None, nanstr=None, infstr=None, formatter=None)
    参数:
    precision 设置浮点数的精度 (默认值:8)
    threshold 设置显示的数目(超出部分省略号显示, np.nan是完全输出,默认值:1000)
    edgeitems 设置显示前几个,后几个 (默认值:3)
    suppress 设置是否科学记数法显示 (默认值:False)
    示例如下:

    import numpy as np
    np.set_printoptions(precision=4, threshold=8, edgeitems=4, linewidth=75, suppress=True, nanstr='nan', infstr='inf')
    print("precision=4, 浮点数精确小数点后4位: ", np.array([1.23446789]))
    print("threshold=8, edgeitems=4, 显示8个,前4后4: ", np.arange(10))
    np.set_printoptions(formatter={'all': lambda x :'int:'+str(-x)})
    print("formatter, 格式化输出: ", np.arange(5))
    

    输出如下:
    在这里插入图片描述
    注意:precision自动四舍五入
    详细介绍文档: np.set_printoptions

    pd.set_option

    pd.set_option(pat, value)
    参数:
    display.[max_categories, max_columns, max_colwidth, max_info_columns, max_info_rows, max_rows, max_seq_items, memory_usage, multi_sparse, notebook_repr_html, pprint_nest_depth, precision, show_dimensions]
    详细介绍文档:pd.set_option

    展开全文
  • python pandas介绍

    2020-04-14 21:34:45
    pandas介绍1、pandas数据读取2...通过pandas的read_csv读取csv文件,并通过head函数显示前几行。 通过tail命令显示后几行 显示列名 显示dataframe的大小,总共61行8列 2、索引和计算 1、索引 通过切片取2到6行...
  • 读取文件1.1 以指定分隔符的方式读取文件1.2 忽略表头1.3 自定义表头1.4 指定特定列为索引列1.5 读取文件时,跳过指定行1.6 自定义缺失值标识1.7 设置pandas的显示的行数1.8 只读一个文件的前几行1.9 分块读文件2....
  • python学习总结7.14

    2020-07-14 15:01:39
    ** 数据分析处理库 Pandas ** 01数据读取 pandas是基于numpy扩展的一个重要第三方库,它是为了解决数据分析...food_info .head():显示读入数据前几行 food_info .tail():显示读入数据的尾几行 food_info .column
  • python进行数据分析时,查看数据,经常发生数据被自动显示成科学记数法的模式,或者多行多列数据显示前后几行几列,中间都是省略号的情形。 汇总了下解决办法,记录: 环境如下: python version == 3.6 numpy ...
  • 子图 plt.subplots()在一张图里显示多个子图 plt.subplots(几行,几列,第几幅图) 保证子图中坐标范围一致使某个figure中的所有子图共享一个坐标轴的方法:加sharey一个坐标轴 ax1=plt.subplots(1,2,1) ax2=plt...
  • Pandas 一个数据分析处理的库,基于Python 底层是基于numpy的,Pandas的核心...读取数据前几行(.head())或者后几行(.tail());显示数据的列名也即是抬头(.columns())以及显示数据的大小,有多少行多少列(.s...
  • 小孩学习笔记2018.07.22

    2018-07-23 11:00:11
    Python pandas 1.导入pandas模块  ...1.——.head()无参数时,默认显示前5行数据,——.tail()为显示尾几行数据 2.——.columns 返回最上一行的默认列索引值 3.——.shape 返回数据行数列数   ...
  • pandas玩转excel-> (2)如何利用pandas读取excel数据文件 import pandas as pd #将excel文件读到内存中,形成dataframe,并命名为people people=pd.read_excel('D:/python结果/task2/...#显示前五行(默认) print
  • WxGL是一个基于PyOpenGL的三维数据可视化库,以wx为显示后端,提供Matplotlib风格的交互式应用模式,同时,也可以和wxPython无缝结合,在wx的窗体上绘制三维模型。 1. 安装和依赖关系 WxGL模块使用pip命令安装。 ...
  • 企业中可能模版使用多,前后端分离的少,用模板就是为了套用格式,做数据的呈现。...方法1,由视图函数提供数据,不要把复杂的操作交给模板,建议再提供数据前将复杂操作在python中搞定,在模板里填结果 用什么数据...
  • 有人反映说爬虫一直显示爬了0页,没有抓到数据。 1、把settings.py里面的LOG_LEVEL = 'INFO'一行注释掉,使用默认的"DEBUG"日志模式,运行程序可查看是否正常请求网页。 2、注意程序是有去重功能的,所以要清空...
  • 战争开始是由于以下的原因:我们大家都认为,吃鸡蛋,原始的方法是打破鸡蛋较大的一端,可是当今的皇帝的祖父小时候吃鸡蛋,一次按古法打鸡蛋时碰巧将一个手指弄破了,因此他的父亲,当时的皇帝,就下了一道敕令,...
  • 战争开始是由于以下的原因:我们大家都认为,吃鸡蛋,原始的方法是打破鸡蛋较大的一端,可是当今的皇帝的祖父小时候吃鸡蛋,一次按古法打鸡蛋时碰巧将一个手指弄破了,因此他的父亲,当时的皇帝,就下了一道敕令,...
  • 保持了依赖同一块Model的不同View显示数据的实时性和准确性。我们每天都在用的观察者模式,在几十年就已经被大神们整合到MVC的架构当中。 这里有一个...
  • 测试培训教材

    2014-04-01 12:10:48
    The VAPI-XP testing tool enables you to create new testing scripts using Microsoft VBScript, Microsoft JavaScript (JScript version), PerlScript, and PythonScript, and integrate these scripts into your...

空空如也

空空如也

1 2
收藏数 28
精华内容 11
关键字:

python显示前几行数据

python 订阅