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. java valueOf

    valueOf 方法可以将原生数值类型转化为对应的Number类型,java.lang.Number 基类包括ouble.Float.Byte.Short.Integer 以及 Long派生类, 也可 ...

  2. delphi编写提取exe文件的ICO图标

    http://www.duote.com/tech/4/11797.html delphi编写提取exe文件的ICO图标 7.0分 出处:天下网吧 时间:2011-08-05 人气:2390 核心提示 ...

  3. 工具 - MSF

    #ms17- use auxiliary/scanner/smb/smb_ms17_010 - exploit use exploit/windows/smb/ms17_010_eternalblue ...

  4. vps配置ipv6地址

    1.修改配置文件 vim /etc/network/interfaces 2.添加以下内容 auto he-ipv6 iface he-ipv6 inet6 v4tunnel address 2001 ...

  5. webpack基本介绍及使用

    1.什么是webpack webpack是一个前端资源加载/打包工具.它根据模块的依赖关系进行静态分析,然后将这些模块按照指定的规则生成对应的静态资源. 官网地址:https://www.webpac ...

  6. [2019杭电多校第二场][hdu6601]Keen On Everything But Triangle

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6601 题意是说用给定区间内的数字组成周长最大的三角形. 大致做法就是求区间第1大,第2大和第3大然后判 ...

  7. Linux下CMake简明教程

    转载地址:https://blog.csdn.net/whahu1989/article/details/82078563 CMake是开源.跨平台的构建工具,可以让我们通过编写简单的配置文件去生成本 ...

  8. arcgis server地图服务切片(10.4.1)

    首先要发布地图服务,过程略 首先,熟悉arcgis server的人应该知道,最直接的切片方式操作方法是在“服务属性”中设置切片,但这种方式可操作性太差,很多设置无法实现,因此不推荐 下面正式开始,打 ...

  9. LeetCode106. 从中序与后序遍历序列构造二叉树

    106. 从中序与后序遍历序列构造二叉树 描述 根据一棵树的中序遍历与后序遍历构造二叉树. 注意: 你可以假设树中没有重复的元素. 示例 例如,给出 中序遍历 inorder = [9,3,15,20 ...

  10. 使用JS提交表单

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...