python大数据使用教程_python时空大数据

时空大数据至少带有三个信息:用户id,时间,空间

一、由GPS生成OD

1、读取数据

importpandas as pd#读取数据

data = pd.read_csv(r'data-sample/TaxiData-Sample',header =None)#给数据命名列

data.columns = ['VehicleNum', 'Stime', 'Lng', 'Lat', 'OpenStatus', 'Speed']

① pd.read_csv()

路径名字符串前要加r。

header=None表示原始文件没有列索引,自动加上列索引0,1,2...。

header=0表示第0行作为列索引。

可以通过name属性指定新的索引名字,如names=range(2,4)。

② data.columns

data.index返回一个index类型的行索引列表

data.columns返回一个index类型的列索引列表

#显示数据的前5行

data.head(5)

VehicleNum —— 车牌

Stime —— 时间

Lng —— 经度

Lat —— 纬度

OpenStatus —— 是否有乘客(0没乘客,1有乘客)

Speed —— 速度

type(data)

type(data['Lng'])

type(data[['Lng']])

当我们读一个数据的时候,我们读进来的就是DataFrame格式的数据表,而一个DataFrame中的每一列,则为一个Series也就是说,DataFrame由多个Series组成。

如果我们想取DataFrame的某一列,想得到的是Series:data[列名]

如果我们想取DataFrame的某一列或者某几列,想得到的是DataFrame:data2[[列名,列名]]

2、筛选数据

在筛选数据的时候,我们一般用data[条件]的格式,其中的条件,是对data每一行数据的true和false布尔变量的Series

data['VehicleNum'] == 22271

得到一个Series,可以作为筛选条件。

data[data['VehicleNum'] == 22271]

想要去掉所筛选的数据,有两种方法

data[data['VehicleNum'] != 22271]

data[-(data['VehicleNum'] == 22271)]

data[-(条件)]

data2 = data[(data['VehicleNum']==22271)|(data['VehicleNum']==23873)]

data2

data2['Speed2'] = data2['Speed']*2data2.loc[4] #取某一行,以index来取

data2.iloc[1000] #以绝对位置来取(就是从上往下数第1000行)

iloc是按照行数取值,而loc按着index名取值

data2.drop(['Speed2'],axis=1) #删除Speed2列

在获取某行某列的数据时,记得一定要用iloc(按表目前排列的顺序取),不能用loc(按index取)

因为很多时候我们做完筛选、排序等操作,表就不是按index来排列,用loc取行就会取错行,或者直接报错(没有这个index)

#获取Stime列的第4行数据

data['Stime'].iloc[3]

3、出租车OD提取

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值