Nạp dữ liệu gọn nhẹ với pandas
Amany Mahfouz
Instructor
concat()pandaspd.concat([df1,df2])ignore_index là True để đánh số lại hàng# Lấy 20 kết quả bookstore đầu tiên
params = {"term": "bookstore",
"location": "San Francisco"}
first_results = requests.get(api_url,
headers=headers,
params=params).json()
first_20_bookstores = json_normalize(first_results["businesses"],
sep="_")
print(first_20_bookstores.shape)
(20, 24)
# Lấy 20 bookstore tiếp theo
params["offset"] = 20
next_results = requests.get(api_url,
headers=headers,
params=params).json()
next_20_bookstores = json_normalize(next_results["businesses"],
sep="_")
print(next_20_bookstores.shape)
(20, 24)
# Ghép hai tập bookstore, đánh số lại hàng bookstores = pd.concat([first_20_bookstores, next_20_bookstores], ignore_index=True)print(bookstores.name)
0 City Lights Bookstore
1 Alexander Book Company
2 Borderlands Books
3 Alley Cat Books
4 Dog Eared Books
... ...
35 Forest Books
36 San Francisco Center For The Book
37 KingSpoke - Book Store
38 Eastwind Books & Arts
39 My Favorite
Name: name, dtype: object
merge(): phiên bản pandas của SQL joinmerge()pandas vừa là phương thức của dataframedf.merge()on nếu tên giống nhau ở cả hai dataframeleft_on và right_on nếu khóa khác têncall_counts.head()
created_date call_counts
0 01/01/2018 4597
1 01/02/2018 4362
2 01/03/2018 3045
3 01/04/2018 3374
4 01/05/2018 4333
weather.head()
date tmax tmin
0 12/01/2017 52 42
1 12/02/2017 48 39
2 12/03/2017 48 42
3 12/04/2017 51 40
4 12/05/2017 61 50
# Gộp weather vào call_counts theo các cột ngày merged = call_counts.merge(weather, left_on="created_date", right_on="date")print(merged.head())
created_date call_counts date tmax tmin
0 01/01/2018 4597 01/01/2018 19 7
1 01/02/2018 4362 01/02/2018 26 13
2 01/03/2018 3045 01/03/2018 30 16
3 01/04/2018 3374 01/04/2018 29 19
4 01/05/2018 4333 01/05/2018 19 9
created_date call_counts date tmax tmin
0 01/01/2018 4597 01/01/2018 19 7
1 01/02/2018 4362 01/02/2018 26 13
2 01/03/2018 3045 01/03/2018 30 16
3 01/04/2018 3374 01/04/2018 29 19
4 01/05/2018 4333 01/05/2018 19 9
merge(): chỉ trả về giá trị có ở cả hai tập dữ liệuNạp dữ liệu gọn nhẹ với pandas