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. python 每周作业

    day2:python的简介与认识day2:# 1.写一个登录程序# username# passwd# 让用户输入账号和密码,输入用户和密码输入正确的话# 提示你 xxx,欢迎登录,今天的日期是xx ...

  2. 【BASIS系列】SAP /usr/sap//DVEBMGS00满了怎么处理

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[BASIS系列]SAP /usr/sap//D ...

  3. 阅读笔记09-Java程序员必备的Intellij插件

    1. .ignore 生成各种ignore文件,一键创建git ignore文件的模板,免得自己去写 地址:plugins.jetbrains.com/plugin/7495--ignore 2. l ...

  4. 介绍一款代理端口管理工具--Proxfier

    官网下载地址: https://www.proxifier.com/download/ProxifierSetup.exe 用户名随意填注册码下边 5EZ8G-C3WL5-B56YG-SCXM9-6Q ...

  5. Model Inversion Attack Paper Indexpage

    Paper [1]: White-box neural network attack, adversaries have full access to the model. Using Gradien ...

  6. gitee.ZC_blog快速方案

    1. 1.1.改 hexo的配置文件中 gitee的路径 复制URL,到hexo的配置文件_config.yml …… deploy: type: git # type为git repo: https ...

  7. js:获取单选组radio中的被选择的数据

    现在有一name为sex的单选组,代表的是选择性别,要求获取radio中被选择的选项值 <div class="sexDiv"> 用户性别: <input cla ...

  8. Linux的简介安装与简单使用

    一: 适合初学者的最佳Linux发行版:Linux Mint 老旧硬件的最佳Linux发行版:Ubuntu MATE 安全行业的最佳Linux发行版:Kali Linux 专属游戏的Linux发行版: ...

  9. PyTorch笔记之 Dataset 和 Dataloader

    一.简介 在 PyTorch 中,我们的数据集往往会用一个类去表示,在训练时用 Dataloader 产生一个 batch 的数据 https://pytorch.org/tutorials/begi ...

  10. display:table

    display:table的CSS声明能够让一个HTML元素和它的子节点像table元素一样.使用基于表格的CSS布局,使我们能够轻松定义一个单元格的边界.背景等样式,而不会产生因为使用了table那 ...