python积累
文章平均质量分 94
小钢牙要加油
这个作者很懒,什么都没留下…
展开
-
爬虫_获取天天基金网基金季报对应信息
目标:获取所有公募基金季报中,公募基金经理兼任专户的说明整体思路1.分析网站1.1 动态网站判断1.2 动态网址查找1.3 链接后网址正文2.数据预处理3.解析正文4.总结1.分析网站分析网站目标:找到季度报告正文的网址1.1 动态网站判断方法1:F12 – 刷新 – network – response(这个就是爬虫下来html的内容)方法2:选择不同页码,对应的网址却没有变无法在html中找到对应公告信息,判断为动态网站,数据并不是写死在html中,而是通过js动态载入。动态网站参.原创 2021-01-22 10:52:47 · 1007 阅读 · 2 评论 -
python dataframe 增加一行
需求:写个汇总行分析:concat, merge, df.loc[xx] = [a,b,c] 都可以满足也可像 list 一样用append1.append(series) data = pd.DataFrame() series = pd.Series({"x":1,"y":2},name="a") data = data.append(series)2.append(df)与series类似 data = pd.DataFrame() df = pd.原创 2020-08-27 11:24:33 · 24411 阅读 · 4 评论 -
pandas 数据比对
问题:df1与另一个乱序df2判断是否一致1,进行数据匹配merge统一排序category# mergedf_load.columns = df_my.columnss_index = df_load['产品名称']df_my_compare = pd.merge(s_index,df_my,on='产品名称')#统一排序df_loadcolumns = df_my.columnsdf_load = df_load.sort_values(by=['产品名称'],ascen原创 2020-05-29 13:40:32 · 2401 阅读 · 1 评论 -
pandas数据替换
1,replace 一次只能替换一个import pandas as pddf1 = pd.DataFrame({'temp':['a','b','c','d','a','e','d']})df2 = df1['temp'].replace('a','ttt')2,map 替换map中的字符,没写在map中的nan填充\df1 = pd.DataFrame({'temp':['a','b','c','d','a','e','d']})df3 = df1['temp'].map({'a':'原创 2020-05-29 13:39:23 · 341 阅读 · 0 评论 -
python zip
1,zip可视为对应位置打包list1 = [1,2,3,4]list2 = [5,6,7,8]a = list(zip(list1,list2))# 不把a转成list 生成的为<zip at 0x1ace257e688>2,用于迭代list1 = [1,2,3,4]list2 = [5,6,7,8]for (x,y) in zip(list1,list2): print (x,'+',y, "=",x+y)3,用于生成字典k = ["a","b","c"原创 2020-05-29 13:38:49 · 137 阅读 · 0 评论 -
python (list,dataframe) 去重
1.list1,set 不能保证顺序new_list = list(set(old_list))2,循环new_list = []for value in old_list: if value not in new_list: new_list.append(value)3,字典(推荐)可以保证顺序new_list = list(dict.fromkeys(old_list))2.dataframe1,seriesdf = pd.DataFrame({'a'原创 2020-05-29 11:34:50 · 376 阅读 · 0 评论 -
python 字符串处理
import pandas as pdimport numpy as npdf_test = pd.DataFrame({'test_value':['a1','aa1','b1','b2','A2','AA2','Aa2',\ 'are u ok','u are not ok','uu are okey']})-1. str.contains(pat, case=True, flags=0, na=False, re原创 2020-05-29 11:34:15 · 801 阅读 · 0 评论 -
python group_by
-1.类似字典的调用方式groupby = df.groupby('id')# 遍历for id,group in groupby: print(id) print(group)# 取其中一组data = groupby.get_group('aaa')-2.单列函数df_groupby = df.groupby('id')['salary'].sum()df_groupby = df.groupby(['id','gender'])['salary'].sum()m原创 2020-05-29 11:33:23 · 355 阅读 · 0 评论 -
python 对时间处理
转格式通常都是str 跟datetime之间转换,int跟datetime的转换,要先进行int跟str之间转换。import datetimedate_beg = 20200330date_end = 20200430date1 = datetime.datetime.strptime(str(date_beg),'%Y%m%d')date2 = datetime.datetime.strptime(str(date_end),'%Y%m%d')a = datetime.dateti.原创 2020-05-29 11:32:28 · 95 阅读 · 0 评论 -
python 股票策略_每季度仓位写回测
1- 读仓位信息:(1)先简单存到dic中,时间是倒序,在构造time_list中reverse即可(2) str,int转换 int(''.join(str1.split('-'))def read_date(file_name): df_all = pd.read_excel(file_name+'.xlsx',header=None) df_all = df_all.dropna(axis=0,how='all') df_all.columns = ['股票代码','原创 2020-05-29 11:31:19 · 926 阅读 · 1 评论 -
python对outlook邮件整理
网上资料同质化严重,也尝试了很多包,yagmail, zmail, exchanglib,大同小异。以win32com为例,汇总如下。1,发邮件import win32com.client as win32outlook = win32.Dispatch('Outlook.Application')mail_item = outlook.CreateItem(0) # 0: creat mail# 收件人继续写下去mail_item.Recipients.Add('xx@phfund..原创 2020-05-29 11:27:34 · 3109 阅读 · 0 评论 -
为什么要写函数
1,避免重复性代码比如现在需要计算:3000 * 1.1^12 + 3000 * 1.1^11 + … + 3000 * 1.1^1# 麻烦点 写个循环temp = 0for i in range(1,13): temp = temp + 1.1**(i) result = temp * 3000如果现在需求改了,改成计算下列:3000 * 1.1^12 ...原创 2020-02-26 11:40:30 · 309 阅读 · 1 评论