您的位置:首页 > 编程语言 > Python开发

python pandas包操作以及dataframe

2018-03-31 19:57 766 查看

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 官方文档

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: