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')