Pandas 是强大的资料科学分析工具,结合前几天所学的NumPy特性
提供方便读取及使用的资料结构
来处理关联式数据和有标签的数据
首先简介Pandas使用的常见资料结构
今天看的课程是Coursera上的 Introduction to Data Science in Python
Coursera | Online Courses & Credentials From Top Educators. Join for Free | Coursera
下面的练习是利用上课教的还有以前在学校教过的
重新整理有关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 天刷题修行篇第十二话
系列文达标特别篇 —— 笔者到底是怎麽到德国的? 今天要来分享的东西比较特别,因为想说是系列文达标...
本篇衔接上篇:https://ithelp.ithome.com.tw/articles/1027...
很快的地狱般的铁人赛终於要结束了,今天就来聊聊这30天的学习心得。 其实一开始挑选这个题目时,也是无...
Laravel 支援信件寄送功能,可以经由各种服务发送信件,框架也预设有使用者登入时就寄送验证信的功...
Android Studio介绍到今天已经第27天了, 不知道大家在执行程序时是否有相同的想法, 那...