豆瓣讀書練習 介紹filter高階函式

2021-10-09 20:41:42 字數 1800 閱讀 3948

如上資料有問題如下:

• 索引無序

• 單價中包含各種各樣單位

所以需求如下:

• 讀取資料 重置索引

• 將單價列取出 整數 或 浮點數 並轉為可計算型別

• 將評分列進行降序

• 直觀體現評分資料主要分布在哪個區間

• 直觀體現單價與評分的分布

• 取出評分前100條資料 直觀體現不同出版社的出書次數

import pandas as pd

import numpy as np

import seaborn as sns

from matplotlib import pyplot as plt

db_read = pd.read_excel("豆瓣讀書.xlsx",index_col=0)

db_read.info()

db_read.head()

# 重置索引

db_read.reset_index(drop=true,inplace=true)

"""解決單位問題:

- 思路1:將單位替換為空字串

"""# db_read["單價"] = db_read["單價"].str.replace("元","")

# db_read["單價"] = db_read["單價"].str.replace("元","")

# db_read

# db_read["單價"].astype("float")

"""- 思路2:匹配出浮點數

需求:去字串中匹配部分符合條件的子字串

實現:- 使用正則(re)

- pandas中series每行字串對接的正則方法:series.str.extract(pattern)

- 提取 浮點數或者整數 pattern:數值.數值

- \d 匹配數值

- + 貪婪匹配(匹配多個符合條件的)

- \. 匹配出小數點

- () 分組

- | 或

"""db_read["單價"] = db_read["單價"].str.extract("(\d+\.\d+)|(\d+)").fillna(axis=1,method="bfill")[0]

db_read

db_read["單價"] = db_read["單價"].astype("float")

db_read.info()

desc_data = db_read.sort_values(by="評分",ascending=false)

desc_data

sns.distplot(db_read["評分"])

sns.jointplot(x="單價",y="評分",data=db_read)

top_100 = desc_data.iloc[:100,:]

top_100

sns.catplot(x="出版社",data=top_100,kind="count",height=10)

plt.xticks(rotation=90)

plt.show()

介紹filter高階函式

s = "oldamy22.11"

# 構建乙個函式,只保留字串中數值以及小數點部分

f = lambda x: x in "0123456789."

f(s)

# 高階函式,過濾的

# "22.11"

li = list(filter(f,s))

"".join(li)

豆瓣讀書 豆瓣電影

1.獲取豆瓣讀書頁資訊,為 如下 coding utf 8 import requests from lxml import etree 1.獲取豆瓣讀書網頁內容 headers url response requests.get url,headers headers text response....

豆瓣讀書分析

無聊的時候跑跑資料也是極好的 伏爾泰曾說 讀書使人心眼兒亮 哦不 讀書使人心明眼亮 外鏈轉存失敗,源站可能有防盜煉機制,建議將儲存下來直接上傳 img euoqaqbf 1589990121157 打廣告歡迎來踩個人部落格 個人部落格 記得手上有乙個豆瓣圖書的資料 然後沒事兒 就手癢拿來跑了跑 資料...

豆瓣讀書isbn 查詢

停服了!在網上找了一圈,有意思了,isbn 國際標準書號 international standard book number 這種理論上應該公開的資訊卻沒有相關資源!號稱中國isbn中心 中國版本圖書館,這個 翻了一遍也沒有能夠查isbn的地方,不可思議!然後,鵝廠是這樣的 福廠是這樣的 其他廠是...