多积累,将查过的语法、知识点总结下,免得之后遇到类似的问题又要花时间来查。
1. csdn中如何打空格
'&emsp'后面再加上英文‘;’ ,因为打整体的话就显示空格了。
2. python中将列表每个元素除以一个数
product_info = [2,3,4,1,3]
ratio = [round(x / 13, 2) for x in product_info]
3. list数据怎么求平均值、标准差、最大值、最小值
star_ = []
v_max = np.max(star_)
v_min = np.min(star_)
v_mean = round(np.mean(star_), 2)
v_std = round(np.std(star_), 2)
4. list数据怎么分组进行计数
# 我想将list中的数据分组进行计数,即5000以下的,5000-30000,30000-100000,100000以上的。
# 用到了series和groupby,还有count函数
# 最后将series数据转换为dict类型
# 结果为:
{'5000以下': 91, '5000-30000': 8, '30000-100000': 0, '100000以上': 1}
star_ = []
bins = [-np.inf, 5000, 30000, 100000, np.inf]
res = pd.Series(star_).groupby(pd.cut(np.array(star_), bins=bins, labels=['5000以下', '5000-30000', '30000-100000', '100000以上'])).count()
star_count = res.to_dict()
5. 几种数据类型之间的转换
我写几种常用的
1. series与list、dict互转
series转换为list、dict: series.tolist()、series.to_dict()
list、dict转换为serise: pd.Series(list/dict)
2. dataframe与dict互转
author_info = pd.DataFrame(author_dict, index=['gener', 'status', 'words']) # 如果不设置index,默认0,1,2
author_dict = author_info.to_dict()
详细查看:python下DataFrame, Series, ndarray, list, dict, tuple的相互转换
6. Dataframe数据怎么按某个条件进行计数
author_dict = {}
author_info = pd.DataFrame(author_dict, index=['gener', 'status', 'words'])
dushi_num = sum(author_info.T.gener == '都市言情')
gudai_num = sum(author_info.T.gener == '古代言情')
huanxiang_num = sum(author_info.T.gener == '幻想时空')
lianzai_num = sum(author_info.T.status == '连载中')
wanjie_num = sum(author_info.T.status == '已完结')
product_info = [dushi_num, gudai_num, huanxiang_num, lianzai_num, wanjie_num]
详细查看:python - 如何基于DataFrame中的多个条件对事件进行计数 (这个链接是按照多个条件筛选,用到了&,我举的例子是按但条件筛选,并且由于我的数据是以gener、status、words为行索引,所以进行了转置,用T)
7. 爬虫时涉及到动态网页,可以用selenium包,找到要点击的按钮,再用click命令
from selenium import webdriver
browser = webdriver.Chrome()
browser.implicitly_wait(2)
browser.get(author_link)
button = browser.find_element_by_xpath('/html/body/div[2]/div[5]/div[2]/div[2]/a')
button.click()
8. 爬虫时遇到网页和之前网页不同时怎么进行更改
bkurl = 'http://zongheng.com/store/....'
url_ = bkurl.strip(' ').split('.', 1) # 表示按照第一个‘.’进行分割
url = 'http://huayu.' + url_[1] # 然后再进行字符串的拼接
9. 如何一条一条爬下想爬的内容, 比如想爬下这些信息:
网页源码:
如果按照class = 'book-lists-con scroll-cont’来找,会将所有的文本都返回,虽然达到了目的,但会有很多内容时不想要的,比如title中一长串话还有“立即阅读”等。但如果按照class='ms’来找,只会找最开始的一个。那写xpath的时候就需要用到一个循环了,如下:
story_num = 6
i = 1
author_dict = {}
while i <= story_num:
bookname = browser.find_element_by_xpath('/html/body/div[2]/div[5]/div[2]/div[1]/div/div[' + str(i) + ']/div[2]/p[1]/a').text
info = browser.find_element_by_xpath('/html/body/div[2]/div[5]/div[2]/div[1]/div/div[' + str(i) + ']/div[2]/p[2]').text
gener = info.split('|')[0]
status = info.split('|')[1]
words = info.split('|')[2]
author_dict.setdefault(bookname, [gener, status, words])
i += 1
10. vscode不小心删除了程序,怎么处理?
如果是这样恭喜你,就去回收站,按照修改日期找。