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. 监测工具dstat使用说明

    参考地址: https://blog.csdn.net/sinat_34789167/article/details/80986709

  2. 接口自动化之ddt

    接口自动化会用到数据驱动模式,也就是一个ddt模块 目录 1.环境准备 2.调用时标准格式 3.应用(结合excle来传值) 1.环境准备 首先,需要安装ddt模块 pip install ddt 2 ...

  3. 3 深入解析controlfile

    3 深入解析controlfile Control file: dump SQL> alter session set events 'immediate trace name controlf ...

  4. java配置详解

    JAVA_HOMED:\JavaTools\Java\jdk1.7.0_80\ D:\JavaEnvironment\Java\jdk1.7.0_71D:\JavaEnvironment\Java\j ...

  5. POI向Excel中写入数据及追加数据

    import org.apache.poi.xssf.usermodel.XSSFCell; import org.apache.poi.xssf.usermodel.XSSFRow; import ...

  6. 取消a或input标签聚焦后出现虚线框

    1:在a标签里加入js控制,当a标签被聚焦时,强制取消焦点,这时候a标签自然不会有虚线框. <a href="#" onfocus="this.blur();&qu ...

  7. 计算距离的SQL语句

    一,BEGINset @num=6378.138*2*ASIN(SQRT(POW(SIN((lat1*PI()/180-lat2*PI()/180)/2),2)+COS(lat1*PI()/180)* ...

  8. Redis数据类型:Hashes、Geo操作指令

    Redis数据类型:Hashes.Geo操作指令 Hashes常用操作指令 Redis Hashes是一个键值对的映射表,最对能存储2^32-1(约40亿)个键值对. HSET HGET HSET:将 ...

  9. idea 社区版本创建javaweb项目 使用tomcat

    1.创建maven  webapp项目 2.pom文件添加依赖及tomcat7-maven-plugin插件 <dependencies> <dependency> <g ...

  10. JDK11 | 第一篇 : JDK11 介绍

    文章首发于公众号<程序员果果> 地址 : https://mp.weixin.qq.com/s/cOqRVlDgOqfDfKtkk1JGxw 一.简介 北京时间 2018年9 月 26 日 ...