{DAY 15} Pandas 学习笔记 part.1

前言

Pandas 是强大的资料科学分析工具,结合前几天所学的NumPy特性

提供方便读取及使用的资料结构

来处理关联式数据和有标签的数据

首先简介Pandas使用的常见资料结构

  1. Series: 建立索引的一维阵列
  2. Dataframe: 处理结构化的资料,有列索引与栏标签的二维资料集

今天看的课程是Coursera上的 Introduction to Data Science in Python

Coursera | Online Courses & Credentials From Top Educators. Join for Free | Coursera

下面的练习是利用上课教的还有以前在学校教过的

重新整理有关Series的笔记

Series

为了使用pandas首先要用import引入

import pandas as pd

接下来创建一个Series

可以先创建一个listy再用pd.Series( )

singers = ["Justin", "Tom", "Lewis", "Kelly"]
pd.Series(singers)
'''
0    Justin
1       Tom
2     Lewis
3     Kelly
dtype: object
'''

可以看到左边是由0到3组成的索引值(index)

右边则是每个索引值对应到的值

接下来看缺失值

singers = ["Justin", None , "Lewis", "Kelly"]
pd.Series(singers)
'''
0    Kelly
1     None
2    Jason
dtype: object
'''

pandas会将缺失值储存为None, 型态为“object"

若是要处理数字字串(integers, numbers, float)的缺失值

numbers =[3,4,None]
pd.Series(numbers)
'''
0    3.0
1    4.0
2    NaN
dtype: float64
'''

pandas会自动将缺失值变成型态为浮点数的NaN(not a number)

可以看到从上面的int64变成float64,也从原本的 None变成 NaN

因为pandas内建将 NaN视为浮点数

虽然 None跟 NaN都是在处理缺失值

但是两者在pandas的系统内并不相同

但物件型态一个是object一个是float64的型态

如果使用dictionary汇入Series

music_chart = {"Ed Sheeran":"Bad habits", "Justin Biber": "STAY","Cardie B":"Rumors","Anne-Maire":"Kiss My"}
m_c = pd.Series(music_chart)
m_c
'''
Ed Sheeran      Bad habits
Justin Biber          STAY
Cardie B            Rumors
Anne-Maire         Kiss My
dtype: object
'''

keys会自动变成 Series 的index

除了原先的default索引值外,也可以自己指定

m_c = pd.Series(["Bad habits","STAY","Rumors","Kiss My"], index = ["Ed Sheeran","Justin Biber","Cardie B","Anne-Maire" ])
m_c
'''
Ed Sheeran      Bad habits
Justin Biber          STAY
Cardie B            Rumors
Anne-Maire         Kiss My
dtype: object
'''

假设现在输入的index无法和data一一对应

music_chart = {"Ed Sheeran":"Bad habits", "Justin Biber": "STAY","Cardie B":"Rumors"}
m_c = pd.Series(music_chart, index =["Maroon5","Cardie B","Ed Sheeran"]) 
m_c
'''
Maroon5              NaN
Cardie B          Rumors
Ed Sheeran    Bad habits
dtype: object
'''

pandas会遵照指定的index,忽略 dictionary里 index指定没有提到的key,而指定的index值如果没有对应的value,则是会自动补上NaN或是 None

小结

今天的pandas基础练习学会了操作Series

明天会进入到更多的操作方式

建立起处理pandas的观念


<<:  Day 12 - 那个被我忘记的 ref / useRef / createRef 上

>>:  实用的 each_cons 方法,Ruby 30 天刷题修行篇第十二话

Lektion 30. 德国・工作生活心得 Leben und Arbeit in Deutschland

系列文达标特别篇 —— 笔者到底是怎麽到德国的? 今天要来分享的东西比较特别,因为想说是系列文达标...

Chapter4 - Canvas背景动画(I)让落叶随风飘落、自然摇摆

本篇衔接上篇:https://ithelp.ithome.com.tw/articles/1027...

[区块链&DAPP介绍 Day30] 最後的总结

很快的地狱般的铁人赛终於要结束了,今天就来聊聊这30天的学习心得。 其实一开始挑选这个题目时,也是无...

信件

Laravel 支援信件寄送功能,可以经由各种服务发送信件,框架也预设有使用者登入时就寄送验证信的功...

Day-27 删除title bar

Android Studio介绍到今天已经第27天了, 不知道大家在执行程序时是否有相同的想法, 那...