Pandas.DataFrame的使用

2,341 阅读3分钟

导入文件

import numpy as np
import pandas as pd
odata = pd.read_csv('example.csv')`

这三行代码就可以实现csv文件的导入,注意文件的路径

删除行

Data1 = data.drop([16,17])

这句代码的意思是删除文件中的第16和17行,并且,后面第18和19并不会自动补到16和17的位置上去,行号从15以后就直接跳到18了

.drop()方法如果不设置参数inplace=True,则只能在生成的新数据块中实现删除效果,而不能删除原有数据块的相应行。也就是inplace属性可以对原来的数据进行删除操作
Inplace = True用法:

odata.drop(odata.index[[16,17]],inplace=True)

我们要注意到用与不用inplace的区别,不用inplace的时候,我们使用另外一个变量Data1来暂时保存处理后的数据,而使用inplace的时候,我们直接调用一个函数对原来的数据进行操作。值得注意的是,inplace属性并不会修改原来的文件,所以是安全的。也就是虽然直接对原来数据删除,但并不会删除到文件,只会在内存里操作原来变量。

删除列

del data['date']

代码如上所示,直接删除,注意这个del的方括号里只能够有一个参数。一次只能删除一列。

.pop()方法

.pop方法可以将所选列从原数据块中弹出,原数据块不再保留该列,

Data1=data.pop(‘latitude’)

.pop方法将单独的数据取出来,在我们想要对某一块数据很感兴趣的时候非常实用。

.split()的使用

简单的Python的字符串分割

我们在数据预处理的时候很多时候要对一串带有各种符号的数据进行处理。但是实际运行时我们要将它们分开处理,所以需要用到python带的split函数来处理

str = ('www.google.com')
print str
str_split = str.split('.')
print str_split

这样运行出来的结果是

www.google.com
[‘www’,‘google’,‘com’]

如果我们想要设置分割的个数,就在split里面添加参数:

str_split = str.split(‘.’,1)

这样得出的结果是:

www.google.com
[‘www’,’google.com’]

也就是只分割了第一个字符,第二个就没有分割了。
对于split函数,字符串和字符是一样的,比如我们想要的数据被字符串“||”隔开,我们要想分割也是同样写法:

str = ('WinXP||Win7||Win8||Win8.1')
print str
str_split = str.split('||')
print str_split

得到(注意是单引号,不因为是字符串而换成双引号)

[‘WinXP’,’Win7’,’Win8’,’Win8.1’]

Re模块的使用

我们在处理实际数据的时候,往往需要根据多种分隔符来分割,比如对于'Beautiful, is; better*than\nugly'这样的字符串来说,我们要将其分割成独立的单词,仅仅用split就无法做到,因为split函数运行一次之后将数据转为list类型,split函数不能处理list数据,所以不能运行两次split。并且split函数并不能设置多个参数,所以python内置的re模块帮我们解决这个问题。具体使用如下

Import re
a='Beautiful, is; better*than\nugly'
x= re.split('[,|; |\*|\n]',a)
print(x)

得到结果是:

[‘Beautiful’,’is’,’better’,’than’,’nugly’]