请在终端机底下输入这个,谢谢
pip install pandas
老样子,像这样
import pandas as pd
如同numpy的简称,pd是世俗公认的pandas简称
Series是Pandas最基础的类别,简单来说Series就是一条资料,他说一维的资料型态,长的像这样
索引 | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
---|---|---|---|---|---|---|---|
资料 | 33 | 23 | 66 | 11 | 35 | 42 | 88 |
我们使用列表来建立Series
# 载入pandas
import pandas as pd
if __name__ == "__main__":
# 以列表来建立Series
l = [33, 23, 66, 11, 35, 42, 88]
s = pd.Series(l)
print(s)
"""
印出
0 33
1 23
2 66
3 11
4 35
5 42
6 88
dtype: int64
"""
# 存取
print(s[4])
# 印出 35
# 载入pandas
import pandas as pd
if __name__ == "__main__":
# 以列表来建立Series
l = [33, 23, 66, 11, 35, 42, 88]
s = pd.Series(l)
# 查看大小
print(s.size)
# 印出 7
# 查看资料型态
print(s.dtype)
# 印出 int64
# 查看资料形状
print(s.shape)
# 印出 (7,)
# 查看索引
print(s.index)
# 印出 RangeIndex(start=0, stop=7, step=1),传回的物件RangeIndex可以视为下方的列表
# [0, 1, 2, 3, 4, 5, 6],从0开始,到7停止,每个元素相差为1的列表,所以这的Series的索引就是0~6
# 载入pandas
import pandas as pd
if __name__ == "__main__":
# 以列表来建立Series
l = [33, 23, 66, 11, 35, 42, 88]
s = pd.Series(l)
# 加总
print(s.sum()) # 298
# 最大值
print(s.max()) # 88
# 最小值
print(s.min()) # 11
# 连乘运算
print(s.prod()) # 71281758240
# 平均
print(s.mean()) # 42.57142857142857
# 中位数
print(s.median()) # 35
# 标准差
print(s.std()) # 26.273288988737484
# 找前n笔资料
print(s.head(3))
"""
0 33
1 23
2 66
dtype: int64
"""
# 找最大的n笔资料
print(s.nlargest(3))
"""
6 88
2 66
5 42
dtype: int64
"""
# 找最小的n笔资料
print(s.nsmallest(3))
"""
3 11
1 23
0 33
dtype: int64
"""
# 载入pandas
import pandas as pd
if __name__ == "__main__":
# 以列表来建立Series,索引为i
l = [33, 23, 66, 11, 35, 42, 88]
i = ["猫", "狗", "羊", "猪", "鸡", "牛", "马"]
s = pd.Series(l, index = i)
print(s)
"""
猫 33
狗 23
羊 66
猪 11
鸡 35
牛 42
马 88
dtype: int64
"""
print(s.index)
# Index(['猫', '狗', '羊', '猪', '鸡', '牛', '马'], dtype='object')
print(s["羊"])
# 66
相较於Series是一条资料,DataFrame可以说是一张表格,我们日常生活中所见的资料大多是以表格的方式呈现,因此DataFrame是整个Pandas的主力类别,也是让Pandas被称为python版Excel的原因,DataFrame大概像这个样子
索引 | 品牌"型号 | 自动排档 | 价格 |
---|---|---|---|
0 | Toyota 86 | False | 1300000 |
1 | Subaru BRZ | True | 1320000 |
2 | NISSAN GT-R | True | 6750000 |
4 | MAZDA MX-5 | False | 1340000 |
DataFrame是以字典来建立的
# 载入pandas
import pandas as pd
if __name__ == "__main__":
# 以字典来建立DataFrame
d = {
"brand":["Toyota 86", "Subaru BRZ", "NISSAN GT-R", "MAZDA MX-5"],
"auto":[False, True, True, False],
"price":[1300000, 1320000, 6750000, 1340000],
}
data = pd.DataFrame(d)
print(data)
"""
brand auto price
0 Toyota 86 False 1300000
1 Subaru BRZ True 1320000
2 NISSAN GT-R True 6750000
3 MAZDA MX-5 False 1340000
"""
DataFrame的存取方式如下
这里要提的是DataFrame是一张资料表,因此既然是资料表,就会有栏跟列的区别,栏就是直的,列是横的,这点很重要,当然DataFrame不仅能操作一格资料,也能直接对一整栏或一整列做操作,一整栏或一整列就是指一条资料,
因此从DataFrame取下一整栏或一整列的资料型态(类别)就是Series,所以Series的属性和方法等等操作方式,也同样适用於从DataFrame取下的一整栏或一整列的资料
# 载入pandas
import pandas as pd
if __name__ == "__main__":
# 以字典来建立DataFrame
d = {
"brand":["Toyota 86", "Subaru BRZ", "NISSAN GT-R", "MAZDA MX-5"],
"auto":[False, True, True, False],
"price":[1300000, 1320000, 6750000, 1340000],
}
data = pd.DataFrame(d)
print(data)
"""
brand auto price
0 Toyota 86 False 1300000
1 Subaru BRZ True 1320000
2 NISSAN GT-R True 6750000
3 MAZDA MX-5 False 1340000
"""
#操作一格资料
# brand栏位的第0笔资料
print(data["brand"][0]) # Toyota 86
# price栏位的第2笔资料
print(data["price"][2]) # 6750000
#操作一栏资料
#type()可以查看某个物件的类别
print(type(data["auto"])) # <class 'pandas.core.series.Series'>
print(data["auto"])
"""
0 False
1 True
2 True
3 False
Name: auto, dtype: bool
"""
print(data["auto"].dtype) # bool
#操作一列(一整笔)资料,透过DataFrame的loc属性
#type()可以查看某个物件的类别
print(type(data.loc[3])) # <class 'pandas.core.series.Series'>
print(data.loc[3])
"""
brand MAZDA MX-5
auto False
price 1340000
Name: 3, dtype: object
"""
print(data.loc[3].size) # 3
#切片
#从第1列开始取,一共要取2列
print(data.loc[1:2])
"""
brand auto price
1 Subaru BRZ True 1320000
2 NISSAN GT-R True 6750000
"""
print(data.loc[1:2]["brand"])
"""
1 Subaru BRZ
2 NISSAN GT-R
"""
# 载入pandas
import pandas as pd
if __name__ == "__main__":
# 以字典来建立DataFrame
d = {
"brand":["Toyota 86", "Subaru BRZ", "NISSAN GT-R", "MAZDA MX-5"],
"auto":[False, True, True, False],
"price":[1300000, 1320000, 6750000, 1340000],
}
data = pd.DataFrame(d)
print(data)
"""
brand auto price
0 Toyota 86 False 1300000
1 Subaru BRZ True 1320000
2 NISSAN GT-R True 6750000
3 MAZDA MX-5 False 1340000
"""
# 大小
print(data.size) # 12,一共12格资料
# 形状
print(data.shape) #(4, 3),4列3栏
# 索引
print(data.index) #RangeIndex(start=0, stop=4, step=1)
# 栏位
print(data.columns) #Index(['brand', 'auto', 'price'], dtype='object')
Q: 还有什麽特别的可以写吗? A: 可能... 再回去Loading吧(๑¯∀¯๑) 本篇要来做...
RxJava2是一套处理非同步(asynchronous)事件的library,这个library是...
大家好,我是西瓜,你现在看到的是 2021 iThome 铁人赛『如何在网页中绘制 3D 场景?从 ...
#以下内容皆由初学者撰写,有错误可能,不建议尽信 30天Python自学: Day02 Python...
有一天男友上完远端的中文课後走出房间,突然问我「欸,蒲公英是什麽颜色?」我觉得以他的习性,突然跟我聊...