IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> 数据分析:Pandas基础2 -> 正文阅读

[人工智能]数据分析:Pandas基础2

替换操作

????????替换操作可以同步作用于Series和DataFrame中

  • 单值替换:普通替换:替换所有符合要求的元素:to_replace=15,value='e'
    ? ? ? ? ? ? ? ? ? 按列指定单值替换:to_replace={列标签:替换值},value='value'
  • 多值替换:列表替换:to_replace=[],value=[]
    ? ? ? ? ? ? ? ? ? 字典替换:to_replace={to_replace:value,to_replace:value}
df=DataFrame(data=np.random.randint(0,100,size=(5,6)))
df.replace(to_replace='1',value='wtf')
df.replace(to_replace=1,value='wtf')        #要注意数据类型

df.replace(to_replace={10:'what’s up'})     #字典形式替换(推荐)

df.replace(to_replace={4:5},value='wtf')    #替换指定列的5为wtf

?

?

?映射操作

  • 创建一个映射关系列表,把values元素和一个特定的标签或者字符串绑定(给一个元素提供不同的表现形式)
  • 创建一个df,两列分别是姓名和薪资,然后给其名字起对应的英文名
dic={'name':['张三','李四','张三'],'salary':[15000,20000,15000]}
df=DataFrame(data=dic)

#映射关系表
dicc={'张三':'Tom','李四':'jack'}

df['e_name']=df['name'].map(dicc)    

  • map是属于Series的函数,只能通过Series来调用
  • map还可以充当运算工具

? ? ? ? ?案例:超过3000的部分需要交纳50%的税,计算每个人的税后薪资。

#制定一个运算法则
def ssalary(s):
    return s-(s-3000)*0.5


df['salary'].map(ssalary)    #可以将df['salary']这个Series中的每一个元素作为参数传递给s

随机抽样

df=DataFrame(data=np.random.randint(0,100,size=(100,3)),columns=['A','B','C'])

#将原始数据打乱
df.take([2,0,1],axis=1)    #只能用隐式索引,0是行,1是列

#生成随机的乱序序列
np.random.permutation(3)    #生成0到2的乱序序列,(0,n-1)

#行列都打乱,取前50
df.take(np.random.permutation(3),axis=1).take(np.random.permutation(100),axis=0)[0:50]

分类处理

? ? ? ? 数据分类核心:groupby()
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?groups属性查看分组情况

df = DataFrame({'item':['Apple','Banana','Orange','Banana','orange','Apple'],'price ':[4,3,3,2.5,4,2],'color':['red','yellow','yellow','green','green','green'],'weight':[12,20,50,30,20,44]})

#要对水果种类分类
df.groupby(by='item')    #<pandas.core.groupby.generic.DataFrameGroupBy object at 0x000002986A8BF580>
#查看属性
df.groupby(by='item').groups    #{'Apple': [0, 5], 'Banana': [1, 3], 'Orange': [2], 'orange': [4]}

? ? ? ? ?分组聚合

#计算出每一种水果的平均价值
df.groupby(by='item').mean()    #这样是默认对所有数值型数据进行mean操作
df.groupby(by='item')['price'].mean()    #这样是只对价格进行聚合

#及算每种颜色对应水果的平均重量
df.groupby(by='color')['weight'].mean()

#将计算出的平均重量汇总到数据中
dic=df.groupby(by='color')['weight'].mean().to_dict() #生成一个用来映射到每个颜色的重量的dic
df['mean_w']=df['color'].map(dic)

? ? ? ? 高级数据聚合

  • 使用groupby分组后,也可以使用transform和apply提供自定义函数实现更多的运算
  • df.groupby('item')['price'].sum() <==> df.groupby(" item')['price'].apply(sum)
  • transform和apply都会进行运算,在transform或者apply中传入函数即可
  • transform和apply也可以传入一个lambda表达式
def my_mean(s):            #这是传入的s是一个list
    m_sum=0
    for i in s:
        m_sum+=i
    return m_sum /len(s)

df.groupby(by='item')['price'].transform(my_mean)    #左图,可以直接来汇总到源数据
#同
df.groupby(by='item')['price'].apply(my_mean)        #右图,这个还要在映射一次

透视表、交叉表

  • 透视表是一种可以对数据动态排布并且分类汇总的表格格式。或许大多数人都在Excel使用过数据透视表,也体会到它的强大功能,而在pandas中它被称作pivot_table。
  • 透视表优点:灵活性高,可以随意定制你的分析计算要求
    ? ? ? ? ? ? ? ? ? ? ? 脉络清晰易于理解数据
    ? ? ? ? ? ? ? ? ? ? ? 操作性强,报表神器

看视频吧

10小时学会Python数据分析、挖掘、清洗、可视化从入门到项目实战(完整版)学会可做项目_哔哩哔哩_bilibili

  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2021-12-05 12:02:52  更:2021-12-05 12:05:22 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/27 2:16:27-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码