用python写程序的一些小积累

多积累,将查过的语法、知识点总结下,免得之后遇到类似的问题又要花时间来查。

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不小心删除了程序,怎么处理?
在这里插入图片描述
   如果是这样恭喜你,就去回收站,按照修改日期找。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值