numpy包:

####数组###########
from numpy import *
shape #获取维度
size #获取长度
arange(0,5,1) #生成数组函数,从0到5以1为间隔
mgrid[0:5,0:5,0:5] #生成多维数组
np.zeros(2) #生成2个0
np.zeros([2,2]) #生成2*2个0
np.arange(3) #返回连续数列,输入为3则返回[0,1,2]
####矩阵##################### from numpy import random
random.rand(5,5) #生成5*5矩阵,值为0-1
a=np.matrix([[1,2,3],[2,3,4],[4,5,6]]) #或者 np.mat([[1,2,3],[2,3,4],[4,5,6]])) 生成矩阵
a=np.mat(np.random.random(size=(3,3))) #生成随机矩阵
a=pd.DataFrame([[1,2,3],[2,3,4],[4,5,6]]) ##直接表示DataFrame
a.columns=['a','b','c'] #修改列名
a.T # a的转置矩阵
a.I # a的逆矩阵
pd.DataFrame(a) ##转换为DataFrame
a*a.T # 矩阵相乘,T为逆矩阵
a.shape #获取矩阵的维度
np.exp(n) #e的n词次
np.power(x,3) #返回x的3次方
np.ones([3,3]) #生成3*3且值为1的2维数组,ones主要用于生成多维数组
a=np.zeros([2,2])
a=np.random.randint(3,10,size=[3,3]) #产生多维随机矩阵
a=np.random.random((3,3)) #生成多维的小数随机数组
#上面这条等价于: a=np.random.rand(3,3)
a[1, :] #取a的第二行
a[1 :] #取a第二行到末尾行
b=a.astype(np.float32) #将a的格式转化为float32
a.dtype #返回格式,输出float64
b.dtype #返回格式,输出float32
np.floor(1.5) #返回1
np.ceil(1.5) #返回2
a.describe() #对数据进行描述性统计
a.transpose() #对a矩阵进行转置
a.to_csv('C:/Users/1/Desktop/345.csv', encoding='utf-8', index=False) # 快速地将DataFrame导入csv文件

####其他#####################
set(a) #元素拆分
a.count #统计个数
 

pandas包:

a=pd.Series(np.random.randn(5),index=['a','b','c','d','e'])   #生成随机序列,'a'到'e'为列名,通过a['a']来读取序列内容
d = {'a': 0, 'b': 1, 'c': 2}
pd.Series(d) #从dict生成series
d={'one':pd.Series([1,2,3],index=['a','b','c']),'two':pd.Series([4,5,6],index=['a','b','c'])}
pd.DataFrame(d) ##建立dataframe
b['three']=b['one'] ##增加列
del b['one'] ##删除列
b.insert(3,'oo',b['two']) ##插入列名为'oo',内容为b['two']的列
b[0:1] ##返回第一行
b['one'] 或 b.one ##返回列
b.head() ##默认前5行 b.head(10) 为前10行
b.tail() ##默认后5行
b[b.two==4] ##获取列名为'two'的值为4的行
b.loc[b['two']== 4] ##返回列名为'two',且值为4的行 (类似于R语言dplyr包的filter函数)
b['two'] #返回列名为two的列
b.loc['two'] #返回行名为'two'的行
b.columns.size ##获取列数
b.ix[1] ##第2行 ix和iloc的区别在于假若index是int类的,则在排序的时候ix会按照index的来,这时并不完全按照实际的行和列顺序,同样出现字符型index的时候对ix也是如此
b.ix[1,2] ##第2行第3列
b.ix[:,2] ##第3列的所有行
b.icol(2) ##第3列
b.irow(2) ##第3行
b.describe() ##按列对数据进行汇总
b.T.describe() ##按行对数据进行汇总
b.sort(columns='A') ##对A列进行排序
b.iloc[1,2] ##提取b的第2行第3列
b[b>1] ##提取b里面大于0的部分
b[b.A>0] ##提取A列大于0的行
b.groupby('two').sum() ##对two分组并计算每组总和,与R语言和sql的groupby类似
pd.date_range("2016-07-01 00:00:00", "2016-07-31 23:58:00", freq='2min') #返回时间范围内以2min作为时间间隔的所有时间
pd.date_range(start='20170101',periods=10) #返回给定时间之后10天的内容
midx=pd.MultiIndex.from_product([['A','B','C'],['X','Y']],names=['class1','class2']) #使用笛卡尔积创建MultiIndex对象
#笛卡尔乘积的作用:
以日期的缺失值查找为例,根据笛卡尔积作一个排列组合,然后和目标表进行关联,查找哪些数据缺失
例如有个考勤记录,记录了100个人2011年5月的考勤信息,理论上每个人每天都有考勤信息,实际上有人在某天的值缺失了。不管是一天一天的查询或者是一人一人的查询都比较麻烦,因此可以作每个人和每一天的笛卡尔积,然后和实际的表去关联,从而得出哪些值是缺失的。
df=pd.DataFrame({'A':[1,2,3],'B':['a','b','f']})
df.T #转置
df.sort_values(by='A',ascending=False) #对列名为'A'进行降序排序
df.isin([1,2,'a','b']) #判断[1,2,'a','b']是否在df之内
a=pd.read_csv('....')
a['title'].str.len().apply(lambda x:np.floor(x/19)) #返回a的title列的每条字符串的长度,进行除以19后进行取下限整数的结果
a['num'].astype('str') #类型转换,转为字符型
a.loc[1,'price'] #获取符合条件的行列
a.loc[a['day_of_week'].isin([6, 7]), 'day_of_week_en'] = #将符合条件的行列值对应的内容进行替换
a.loc[a['clean'].isin(['0']),'clean'] #同上
df1 = pd.DataFrame({'B': ['B2', 'B3', 'B6', 'B7'],'D': ['D2', 'D3', 'D6', 'D7'],'F': ['F2', 'F3', 'F6', 'F7']},index=[2, 3, 6, 7])
df2 = pd.DataFrame({'B': ['B2', 'B3', 'B6', 'B7'],'D': ['D2', 'D3', 'D6', 'D7'],'F': ['F2', 'F3', 'F6', 'F7']},index=[2, 3, 6, 7])
pd.concat([df1,df2],axis=0) #将不同的dataframe进行合并,axis为设置合并的维度
a=a.drop(['g1','g2','g3','g4'],axis=1) #删除列名字为['g1','g2','g3','g4']的列

math包:

from math import *
math.tanh(x) #双曲正切函数

collection包:

import collections
point=collections.namedtuple('point',['x','y']) #创建一个自定义的tuple对象
p=point(1,2)
p.x #返回1
p.y #返回2
c = Counter('abracadabra')
c.most_common(3) #返回出现次数最多的前3项

其他:

yield介绍:
返回生成器,从第一次返回值之后,在下次循环时候从该位置开始继续迭代

def aa(ali):
  for i in ali:
    i=i+1
    yield i+5

b=aa([1,2,3,4])

[w for w in b]  #返回[7,8,9,10]

sys包:

import sys
sys.path.append('...') #插入路径,用于读入自定义模块
sys.exit(1) #用于中途退出程序

os包:

import os
os.getcwd() #获取当前路径
os.chdir('...') #更新路径
%run xx.py #运行路径下的py文件
os.path.join('aaa','bbb','ccc') #返回'aaa/bbb/ccc'
os.listdir('C:/Users/1/Desktop/123/') #返回某路径下的所有文件名

 assert用法:

assert condition     #如果condition为True,则进入下一步,若为False,则raise一个AssertionError错误

 字符串的一些预处理方法:

a=['','','']
' '.join(a) #返回'1 2 3' 字符串

 字典dict:

#获取key所对应的value
dict_c={0:'catering', 1:'facility', 2:'flow', 3:'manage', 4:'price', 5:'service', 6:'traffic', 7:'view'}
dict_c.get(0) #返回字典的key中0对应的值
dict_c.get(1) #返回字典的key中1对应的值
#获取字典的keys
list(dict_c.keys())
#获取字典的values
list(dict_c.values())
a={'a':1,'b':2}.items()
type(a) #返回dict_items
for i in a:
print(i) #通过循环获取a里的数据
dict.fromkeys('a',10) #返回{'a': 10}
dict.fromkeys(['a',10]) #返回{'a': None, 10: None}

 线性回归:

import numpy as np
import statsmodels.api as sm
import statsmodels.formula.api as smf
dat = sm.datasets.get_rdataset("Guerry", "HistData").data
results = smf.ols('Lottery ~ Literacy + np.log(Pop1831)', data=dat).fit()
print(results.summary())

 onehot编码转换:

from sklearn import preprocessing
enc = preprocessing.OneHotEncoder()
enc.fit(a[['A','B']])
enc.transform(a[['A','B']]).toarray()
print(enc.transform(a[['A','B']]).toarray())

 assert断言的作用:

用于判定某布尔值必须为真,如果发生异常说明表达式为假,以如下代码为例

assert 1==1   #未返回值
assert 1==2 #返回错误

python基本数据预处理语法函数(1)的更多相关文章

  1. python基本数据预处理语法函数(2)

    1.字符串格式化方法format的用法: < ^ > #分别为左对齐.居中.右对齐 '{:>18,.2f}'.format(70305084.0) #:冒号+空白填充+右对齐+固定宽 ...

  2. python迭代器与iter()函数实例教程

    python迭代器与iter()函数实例教程 发布时间:2014-07-16编辑:脚本学堂 本文介绍了python迭代器与iter()函数的用法,Python 的迭代无缝地支持序列对象,而且它还允许程 ...

  3. Python学习教程(learning Python)--2.3.4Python函数返回值

    本节讨论Python函数返回值问题. Python和C语言一样,也可以在函数结束时返回一个值.但在定义自己的Python函数时,是不需要指定返回值数据类型的,这和Python不关心变量的数据类型是一致 ...

  4. Python 中的isinstance函数

    解释: Python 中的isinstance函数,isinstance是Python中的一个内建函数 语法: isinstance(object, classinfo) 如果参数object是cla ...

  5. 举例详解Python中的split()函数的使用方法

    这篇文章主要介绍了举例详解Python中的split()函数的使用方法,split()函数的使用是Python学习当中的基础知识,通常用于将字符串切片并转换为列表,需要的朋友可以参考下   函数:sp ...

  6. 小甲鱼:Python学习笔记003_函数

    >>> # 函数>>> def myFirstFunction(params1,params2...): print("这是我的第一个函数!") ...

  7. Python基础:语法基础(3)

    本篇主要介绍Python中一些基础语法,其中包括:标识符.关键字.常量.变量.表达式.语句.注释.模块和包等内容. 1. 标识符和关键字 1.1 标识符 标识符是变量.常量.函数.属性.类.模块和包等 ...

  8. Python第七天 函数 函数参数 函数里的变量 函数返回值 多类型传值 函数递归调用 匿名函数 内置函数

    Python第七天   函数  函数参数   函数里的变量   函数返回值  多类型传值     函数递归调用   匿名函数   内置函数 目录 Pycharm使用技巧(转载) Python第一天   ...

  9. Python(四) —— 函数

    什么是函数? 把一堆代码放一起就叫函数 函数用来干什么? 不复写代码,提高代码重复利用程度 怎么定义以及调用函数: def fun1(): #定义函数 print('这是一个函数') #函数体,里面什 ...

随机推荐

  1. react 类样式的一些使用方法

    在 css类不想使用穿透的状态,可以再webpack配置  modules:true,它位于css-loader下,此外调用css的类时可能会自动生成一个hash值,这时候如果想显示本来的名字,可以打 ...

  2. Delphi MlSkin V1.1 发布啦! 它能让你的程序拥有像QQ一样多彩炫丽的外观!

    http://bbs.csdn.net/topics/390740239 本帖最后由 u014161811 于 2014-03-24 09:46:40 编辑 QQ皮肤透明TEdit透明TMemo图片按 ...

  3. vue组件间通信子与父

    二.组件间通信(子组件传值给父组件) 通过事件的方式来完成数据的传输. ①在父组件中 定义一个方法,用来接收子组件所通过事件传来的值 methods:{ recvMsg:function(msg){ ...

  4. vue组件生命周期

    分为4个阶段:create/mount/update/destroy 每一个阶段都对应着有自己的处理函数 create: beforeCreate created 初始化 mount: beforeM ...

  5. Symmetric Tree(对称二叉树)

    来源:https://leetcode.com/problems/symmetric-tree Given a binary tree, check whether it is a mirror of ...

  6. New start-开始我的学习记录吧

    不知道从何说起,就从眼下的感想开始吧. 转行是一件不容易的事情! 今天是来北京学习Java的第41天.小测验了两次,一次51分,一次54分. 下午有学长过来分享了他的成长经历,感触很多.不是灌鸡汤,也 ...

  7. [Python3] 011 字符串:给你们看看我的内置方法 第三弹

    目录 少废话,上例子 1. encode(encoding='utf-8', errors='strict') 2. expandtabs([tabsize=8]) 借此机会简单地说一说 print( ...

  8. Spring Boot 集成 Ehcache 缓存,三步搞定!

    作者:谭朝红 www.ramostear.com/articles/spring_boot_ehcache.html 本次内容主要介绍基于Ehcache 3.0来快速实现Spring Boot应用程序 ...

  9. AcWing 154. 滑动窗口(模板)

    (https://www.acwing.com/problem/content/156/) 给定一个大小为n≤106n≤106的数组. 有一个大小为k的滑动窗口,它从数组的最左边移动到最右边. 您只能 ...

  10. 一篇包含了react所有基本点的文章

    去年,我写了一本关于学习React.js的小书,原来是大约100页. 今年我要挑战自己,把它归纳为一篇文章. 本文不会涵盖什么是React,或者为什么要学习它. 相反,这是面向已经熟悉JavaScri ...