from PIL import Image as img
from PIL import ImageFilter
#得到图片路径
image_path=r"F:\图片\25795052_114418149031_2.jpg"#注意:路径前加r避免字符转义
#打开图片
im=img.open(image_path)
#显示图片
im.show()
#查看图片信息
# print(im.format)#返回图片格式:JPEG
# print(im.size)#(1024, 640)
# print(im.mode)#RGB
#拷贝,黏贴,合并处理
# box=(100,10,800,500)#四个元素为左上右下,设置拷贝区域大小
# region=im.crop(box)#相当于截图
# region.show()
#图形旋转
# im1=im.transpose(img.ROTATE_90)#旋转90度
# im1.show()
# im2=im.rotate(45)#逆时针旋转45度
# im2.show()
#RGB分离与重组
# r,g,b=im.split()#分离
# r.show()#r通道
# g.show()#g通道
# b.show()#b通道
#重组
# im3=img.merge('RGB',(g,b,r))#r,g,b通道互换
# im3.show()
#滤镜操作
# im4=im.filter(ImageFilter.BLUR)#模糊操作
# im4.show()
im5=im.filter(ImageFilter.CONTOUR)#轮廓
im5.show()
import pandas
from pandas import Series,DataFrame
import numpy as np
""" pandas :pannel data analysis(面板数据分析)。
pandas是基于numpy构建的,为时间序列分析提供了很好的支持。
pandas中有两个主要的数据结构,一个是Series,另一个是DataFrame。
"""
""" Series 类似于一维数组与字典(map)数据结构的结合。
它由一组数据和一组与数据相对应的数据标签(索引index)组成。
这组数据和索引标签的基础都是一个一维ndarray数组。可将index索引理解为行索引。
Series的表现形式为:索引在左,数据在右。
"""
#生成结果左边是索引,右边是元素值,索引可以为任何类型
#index参数缺省,默认为是数字且从0开始
# a=Series([1,2,3,4],dtype=np.float32)
# print(a)
"""0 1.0
1 2.0
2 3.0
3 4.0
dtype: float32"""
# b=Series([1,2,3,4],index=["小明","小王","小红","小刘"])
# print(b)
"""小明 1
小王 2
小红 3
小刘 4
dtype: int64"""
#获取索引
# print(b.index)#Index(['小明', '小王', '小红', '小刘'], dtype='object')
# #获取值
# print(b.values)#[1 2 3 4]
"""DataFrame是一个类似表格的数据结构,索引包括列索引和行索引,
包含有一组有序的列,每列可以是不同的值类型(数值、字符串、布尔值等)。
DataFrame的每一行和每一列都是一个Series,这个Series的name属性为当前的行索引名/列索引名。
"""
#data为元素值,index为行索引,columns为列索引
c=DataFrame(data=[[1,2,3],[4,5,6],[7,8,9]],index=["a","b","c"],columns=["A","B","C"])
print(c)
""" A B C
a 1 2 3
b 4 5 6
c 7 8 9"""