python
2019-11-25 18:00:46 0 举报
AI智能生成
Python知识图
作者其他创作
大纲/内容
numpy
读取数据
numpy.genfromtxt("文件名",delimiter=",",dtype=str)
帮助文档
help(numpy.genfromtxt)
help(numpy.array)
数组
DataFrame变成numpy array
data['foo'].values
vetor = numpy.array([a,b,c])
对数组进行操作
bool类型数组作为索引
打印数组结构(作用:查错)
vetor.shape
(维数,个数)
.shape[0/1]:0 行,1 列
注意
切片
vetor[0:3]
左闭右开,即取0到2
vetor=[:,1],冒号表示所有行,这里表示取所有行的第一列
vetor[:,0:2]
矩阵
类型转换
.astype(T)
求和
.sum(axis=1)
生成矩阵
矩阵转换
.reshape(m,n)
形成矩阵
.ravel
把矩阵拆解成向量
T
行列转换位置
矩阵拼接
.hstack(a,b)
横拼接
.vstack(a,b)
竖拼接
.tile(v,(行,列)
把矩阵扩展为原矩阵的行列的倍数
矩阵切分
.hsplit(a,n)
指定具体切分位置
.hsplit(a,(m,n))
.vsplit(a,n)
0值矩阵
.zeros((m,n))
1值矩阵
.ones((i,j,k),dtype=np.int32)
API
获得维度
.ndim
数据类型
.dtype.name
大小
size
生成数据
numpy.arange()
.arange(n)
随机生成n个数
.arange(i,j,k)
生成从i开始到j结束,每k递增的数组
.linespace(i,j,k)
从0开始到j结束,中间平均生成k个值
随机
.random.random((m,n))
np.random.choice(normal_indices, number_records_fraud, replace=False)
(数据,个数,代替)
运算
四则运算
矩阵积
.dot
常用方法
exp(m)
e的次幂
sqrt
开根号
floor
向下取整
合并
np.concatenate([fraud_indices, random_normal_indices])
复制操作
深复制
a=b
深复制,id一样,指向内存同一位置
浅复制
.view()
id不一样,指向不是同一位置,但是共用同一套values
.copy()
位置不同而且值也不共用
索引
.argmax(axis=1/0)
按行/列,找最大值的索引
排序
.sort(v,axis=1/0)
.argsort(v)
有小到大获得索引
Matplotlib
导入
import matplotlib.pyplot as plt
IO
plot(x轴,y轴)
plt.plot(first_twelve['DATE'], first_twelve['VALUE'])
show
显示方式
x轴文字显示方向
plt.xticks(rotation=45)
标题
画颜色线和标记线
找出画图区间
fig = plt.figure()
plt.figure(figsize=(3, 6))
子图
ax1 = fig.add_subplot(2, 2, 1)
柱状图
竖状
ax = plt.subplot()
ax.bar(bar_positions, bar_heights, 0.5)
例子
水平状
ax.barh(),其他一样
散点图
ax.scatter()
例子
柱形图
盒图
常用方法
Data
矩阵
转化矩阵
randMat = mat(x)
零矩阵
zeros()
变量
打印类型
type()
IO
写入文件
open(name[,mode[,buffering]])
f = open("datingTestSet.txt",'w+')
print >>f,dataArray
读取文件
.read()
每次读取整个文件,它通常用于将文件内容放到一个字符串变量中
.readline() 和 .readlines()
Output
print是将之后的内容输出到终端显示;print>>是将内容输出定向到某文件
方法
map()
map()函数接收两个参数,一个是函数,一个是序列,map将传入的函数依次作用到序列的每个元素,并把结果作为新的list返回。
循环
for value in list
顺序循环:for i in range(n)
从0到n-1
if value in list
while 判断条件:
if else
if 判断条件:else 判断条件:
导入
numpy
from numpy import array
数据类型
String
去回车
line.strip()
切割
表格
line.split('\t')
返回数组
转换
将任意值转为字符串:将它传入repr() 或str() 函数。函数str() 用于将值转化为适于人阅读的形式,而repr() 转化为供解释器读取的形式。
类型转换
str()
int()
float()
符号
**
list
必需声明
value = []
添加元素:append()
长度:len()
Array
Python下标是以0开始的
x[1:3]表示返回集合中下标1至3(不包括3)的元素集合
x[1:3]表示返回集合中下标1至3(不包括3)的元素集合
随机生成数组
random.rand(4,4)
[-1]表示最后一个,[-1]:最后一个
字典
必需声明
dic={}
dic["key"]=value
dic={"key1"=value1,"key2"=value2}
dic.keys()
"key" in dic:Bool
函数
def method():
逻辑操作符
&与
|或
别名
as
Pandas(数据分析处理库)
数据类型:DataFrame
String在Pandas中是object
重新拼接
按列拼接
result = pd.concat([np_sin, series_custom_scores], axis=1)
设置index
fandango_films = fandango.set_index('FILM', drop=False)
IO
读取文件
read_csv(file name)
不读取第一行
.read_csv("test.cvs",header=None)#不把第一行作列属性
显示
.head()
表格显示,默认显示前5条
.tail()
从后显示
.colums
显示列名
索引
取列
vector["列名"]
打印全部列名
定位
.loc[n]
loc[83,"Age"]
ix
以上说过的几种方法都要求查询的秩在索引中,或者位置不超过长度范围,而ix允许你得到不在DataFrame索引中的数据。
切片
[:1]
预处理
排序
food_info.sort_values("Sodium_(mg)", inplace=True)
判断缺失值
age_is_null = pd.isnull(age)
过滤缺失值
good_ages = titanic_survival["Age"][age_is_null == False]
自动过滤缺失值并求平均数
.mean()
API
dropna(axis=)
new_titanic_survival = titanic_survival.dropna(axis=0, subset=["Age", "Sex"])
统计量关系(默认求均值)
一对一
passenger_survival = titanic_survival.pivot_table(index="Pclass", values="Survived", aggfunc=np.mean)
一对多
port_stats = titanic_survival.pivot_table(index="Embarked", values=["Fare", "Survived"], aggfunc=np.sum)
函数
排序
new_titanic_survival = titanic_survival.sort_values("Age", ascending=False)
并重新排好序列
new_titanic_survival = titanic_survival.reset_index(drop=True)
自定义函数
apply(自定义函数名)
hundredth_row = titanic_survival_csv.apply(hundredth_row)
离散化
classes = titanic_survival_csv.apply(which_class, axis=1)
Series
DataFrame的一行或一列
ndarray组成一个Series,操作和numpy相通
自定义构造
rt_critics = Series(fandango['RottenTomatoes'].values, index=fandango['FILM'])
string当索引
series_custom[['The Water Diviner (2015)', 'Irrational Man (2015)']]
排序
sorted_index = sorted(original_index)
运算
np.add(series_custom, series_custom)
np.sin(series_custom)
np.max(series_custom)
标准差
rt_mt_user.apply(lambda x: np.std(x), axis=1)
日期
unrate['DATE'] = pd.to_datetime(unrate['DATE'])
抽取月份
pd.to_datetime(unrate['DATE']).dt.month
数数
pd.value_counts(data['Class'], sort=True).sort_index()
数一下Class的值
常用API
字符串
打印
"{} is {}".format(a,b)
替换
replace('.',' ')
剔除
剔除空格
strip()
剔除特定字符
strip('abc')
拆分
split
组合
'a'+'b'
计数字符在字符串中出现的次数
count
切割
str[m:n]
查找字符出现位置
index(symbol)
找不到会报错
从固定位置查找
find(symbol, begin, end)
找不到返回-1
collection
dictionary
遍历
for k in dic
0 条评论
下一页