python pandas包操作以及dataframe

python pandas 以及 dataframe

今天来总结一下python中pandas包的一些使用方法,还有一些对文件的一些操作。都是一些比较简单的操作。同样是以题来进行说明

首先引入包
import pandas as pd
import numpy as np

(1)通过pandas包将数据flight.csv读取成dataframe,命名为df,然后进行操作。

  • 读取csv文件

    df = pd.read_csv('flight.csv')

这里写图片描述
(2)进行数据观察:查看数据的条数,查看各字段的类型,查看数据框的头尾部分的数据,查看数据的概况;对缺失值数据,进行填充,填充值为0。

  • 查看数据条数

    print df.shape

  • 查看字段类型

    print df.dtypes

  • 查看数据框首尾的部分

    print df.head(10)
    print df.tail(10)

  • 查看数据概况
    print df.describe()
    这里写图片描述

  • 缺失值数据处理
    df.fillna(value = 0 )

(3)按字段取出‘date’’dist’和‘flight’形成新的df1;按位置选取数据框的行为3和4,列为0,1的数
据形成新的df2;

  • 取列

    df1 = df.loc[:,['date','dist','flight']]

  • 按位置选取

    df2 = df.ix[[3,4],[0,1]]

(4)在原始的df中添加一列‘low_dest’,内容是‘dest’这列的字符串的小写形式

  • 添加一列

    df['low_dest'] = df['dest'].str.lower()
    这里写图片描述

(5)从原始的df中选取‘dist’大于1000并且小于1200的数据作为一个新的df3,再从原始数据中选取
‘time’大于100数据做为新的df4,然后将df3和df4,按行合并为一个数据框,命名为df5

  • 选取数据

    df3 = df[(df.dist>1000) & (df.dist<1200)]
    df4 = df[df.time>100]

  • 数据合并
    df5 = pd.concat([df3,df4],axis = 1)

(6)取出df3中的‘time’,‘dist’这两列做为df6,求出df6中每列中最大值与最小值的差值(对数据运
用函数的方式)

  • 取数据

    df6 = df3.loc[:,['time','dist']]

  • 进行运算
    df6.apply(lambda x : x.max() - x.min())

  • 运算结果
    这里写图片描述

(7)将df根据“dest”分组,统计各目的地,都有多少条数据,命名为“dest_count”,然后将“dest”
和“dest_count”组成新的dataframe命名为df7(提示计算条数用np.size )

  • 分组

    df7 = df.groupby('dest',as_index = False)['dest'].agg({'dest_count':np.size})

这里写图片描述

(8)分别将df5和 df7保存到本地文件,文件名分别为df5.csv和df7.csv

  • 写入文件

    df5.to_csv('df5.csv')
    df7.to_csv('df7.csv')

提示:在读取文件和写入文件的函数比如pd.read_csv() 和 df.to_csv()里面有很多参数,可以根据自己不同的需要选择合适的参数。具体使用可以参考官方文档。还有在选择列的时候也有多种不同的方式,并不唯一。pandas 官方文档

猜你喜欢

转载自blog.csdn.net/random0815/article/details/79772516
今日推荐