二十五、爬取毛豆新車的數據
978
2025-04-01
Pandas是Python第三方庫,提供高性能易用數據類型和分析工具
官網文檔:http://pandas.pydata.org/pandas-docs/stable/10min.html
引入:
import pandas as pd
1
Pandas基于NumPy實現,常與NumPy和Matplotlib一同使用
兩個數據類型:Series, DataFrame
基于上述數據類型的各類操作
基本操作
運算操作
特征類操作
關聯類操作
Series類型
Series類型由一組數據及與之相關的數據索引組成
自動索引
自定義索引
Series是一維帶“標簽”數組
結構:data_a index_0
Series基本操作類似ndarray和字典,根據索引對齊
Series類型創建:
Python列表,index與列表元素個數一致
標量值,index表達Series類型的尺寸
Python字典,鍵值對中的“鍵”是索引,index從字典中進行選擇操作
ndarray,索引和數據都可以通過ndarray類型創建
其他函數,range()函數等
Series類型基本操作
Series類型包括index和values兩部分
.index 獲得索引
.values 獲得數據
Series類型的操作類似ndarray類型
索引方法相同,采用[]
NumPy中運算和操作可用于Series類型
可以通過自定義索引的列表進行切片
可以通過自動索引進行切片,如果存在自定義索引,則一同被切片
Series類型的操作類似Python字典類型:
通過自定義索引訪問
保留字in操作
使用.get()方法
Series類型對齊操作
Series+ Series
Series類型在運算中會自動對齊不同索引的數據
Series類型name屬性
Series對象和索引都可以有一個名字,存儲在屬性.name中
Series類型的修改
對獲取的值進行賦值
代碼示例
# -*- coding: utf-8 -*- # @File : series_demo.py # @Date : 2018-05-19 import pandas as pd # 創建Series對象 d = pd.Series(range(5)) print(d) """ 0 0 1 1 2 2 3 3 4 4 dtype: int64 """ # 計算前N項和 print(d.cumsum()) """ 0 0 1 1 2 3 3 6 4 10 dtype: int64 """ # 自動索引 d = pd.Series([1, 2, 3, 4, 5]) print(d) """ 0 1 1 2 2 3 3 4 4 5 dtype: int64 """ # 自定義索引 d = pd.Series([1, 2, 3, 4, 5], index=["a", "b", "c", "d", "e"]) print(d) """ a 1 b 2 c 3 d 4 e 5 dtype: int64 """ # 從標量值創建, 不能省略index s = pd.Series(20, index=["a", "b", "c"]) print(s) """ a 20 b 20 c 20 dtype: int64 """ # 從字典類型創建 s = pd.Series({"a": 1, "b": 2, "c": 3}) print(s) """ a 1 b 2 c 3 dtype: int64 """ # index從字典中進行選擇操作 s = pd.Series({"a": 1, "b": 2, "c": 3}, index=["c", "a", "b", "d"]) print(s) """ c 3.0 a 1.0 b 2.0 d NaN dtype: float64 """ # 從ndarray類型創建 import numpy as np s = pd.Series(np.arange(5)) print(s) """ 0 0 1 1 2 2 3 3 4 4 dtype: int32 """ # 指定索引 s = pd.Series(np.arange(5), index=np.arange(9, 4, -1)) print(s) """ 9 0 8 1 7 2 6 3 5 4 dtype: int32 """ # Series基本操作 s = pd.Series([1, 2, 3, 4, 5], index=["a", "b", "c", "d", "e"]) # 獲得索引 print(s.index) # Index(['a', 'b', 'c', 'd', 'e'], dtype='object') # 獲得值 print(s.values) # [1 2 3 4 5] # 自動索引和自定義索引并存 但不能混 print(s[0]) # 1 print(s["a"]) # 1 # 切片操作 print(s[["a", "b"]]) """ a 1 b 2 dtype: int64 """ # 類似ndarray類型 print(s[:3]) """ a 1 b 2 c 3 dtype: int64 """ print(s[s>s.median()]) """ d 4 e 5 dtype: int64 """ print(np.exp(s)) """ a 2.718282 b 7.389056 c 20.085537 d 54.598150 e 148.413159 dtype: float64 """ # 類似Python字典類型 print("b" in s) # True print(s.get("g", 100)) # 100 # Series類型對齊操作 a = pd.Series([1, 2, 3], index=["a", "b", "c"]) b = pd.Series([5, 6, 7, 8], index=["a", "b", "d", "e"]) print(a+b) """ a 6.0 b 8.0 c NaN d NaN e NaN dtype: float64 """ # Series類型name屬性 s = pd.Series([1, 2, 3, 4, 5], index=["a", "b", "c", "d", "e"]) s.name="Series" s.index.name = "索引" print(s) """ 索引 a 1 b 2 c 3 d 4 e 5 Name: Series, dtype: int64 """ # Series修改 s = pd.Series([1, 2, 3, 4, 5], index=["a", "b", "c", "d", "e"]) s[0] = 666 print(s) """ 0 666 1 2 2 3 3 4 4 5 dtype: int64 """ s["a", "b"] = 20 print(s) """ a 20 b 20 c 3 d 4 e 5 dtype: int64 """ # Series刪除元素 s = pd.Series([1, 2, 3, 4, 5, 6], index=["a", "b", "c", "d", "e", "f"]) print(s) """ a 1 b 2 c 3 d 4 e 5 f 6 dtype: int64 """ s1 = s.drop(["a", "b"]) print(s1) """ c 3 d 4 e 5 f 6 dtype: int64 """
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
Python 數據挖掘
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。