python
JECK_ケーキ
这个作者很懒,什么都没留下…
展开
-
记录一下实验室打开excel文件的尴尬。
实验室电脑只有原装的python本来打开excel很简单的事情。padnas直接读。结果报错。试了好几遍。都不行。这里记录一下。需要安装 两个,openpyxlxlrdpip install openpyxlpip install xlrd安装完之后,在读,如果还出错。那么 改成csv, 读csv 时。df = pd.read_csv("content.csv", engine='python')读excel时df2 = pd.read_.原创 2022-04-13 17:38:09 · 601 阅读 · 0 评论 -
删除dataframe的第一列
由于保存excel的时候,没有设置index=None。所以再读进来的时候,经常出现Unnamed 列。直接删掉的话,可以使用。df.keys()del df[df.keys()[0]]df.keys()不断重复,直到把没用的列删除干净就可以了。del 可以直接删除,不需要inplace...原创 2022-04-11 08:57:51 · 3246 阅读 · 0 评论 -
儿童视力数据(2)
接上文生成一个近视指标。看看不同年龄段的近视比例df['idx_of_nearSight'] = (df['sight_impaired'] == True ) & ((df['right_s'] < -0.5) |(df['left_s'] < -0.5))df['idx_of_nearSight'].value_counts()df.groupby('type')['idx_of_nearSight'].value_counts(normalize=True).原创 2022-02-16 06:03:14 · 537 阅读 · 3 评论 -
记录一次数据分析的过程。儿童视力数据(1)
最近分析了一个儿童视力数据,记录一下。有需要数据的小伙伴可以去下载。import numpy as npimport pandas as pdimport matplotlib.pyplot as pltimport reimport osimport seaborn as snsimport scipy.stats as ssplt.rcParams['font.family'] = ['SimHei']plt.rcParams['axes.unicode_minus'] = Fal原创 2022-02-16 04:27:25 · 874 阅读 · 4 评论 -
列联表分析程序,以卢淑华书上的例子为例
#---------------------------------------------------------##--- * 我的 列联表数据构造 * ----##--------------------------------------------------------#like = np.array([[1, 2, 3], [1, 2, 3], [1, 2, 3]])freq = np.repeat(like, [20, 5, 2.原创 2021-11-22 18:20:19 · 1193 阅读 · 0 评论 -
做一个中国疫情地图
疫情数据用这个,新冠肺炎疫情情况点击检查,后台的数据里面有个、这里有显示很多天的疫情信息,我们只需要一天的,所以用最后一行。我这儿是349行。101行是省份就这两个。就可以。复制出来。作图使用pyechartsDocument这里把fake.province 和fake.values(),替换成我们的就可以了。但是这样各省人数不一,颜色都是一样的。所以设置pieces 为、visualmap_opts=opts.VisualMap...原创 2021-10-19 08:47:37 · 638 阅读 · 0 评论 -
使用geopandas 制作中国疫情地图
最近要做一个中国地图,以前用pyecharts,最近接触了geopandas 觉得很强大,改用geopandas作图。比如我制作一个疫情分布地图,效果应该是这样的。最终效果。首先导入需要用的库:import pandas as pdimport matplotlib.pyplot as pltimport requestsimport geopandas as gpdplt.rcParams['font.family'] = 'SimHei'然后使用爬虫把疫情数据怕取下来,我使用.原创 2021-10-01 11:29:53 · 1660 阅读 · 0 评论 -
动态网页的爬取,微博,澎湃新闻
动态网页的爬取,首先是澎湃新闻。澎湃新闻-专注时政与思想-ThePaper.cn。点击进入网页, 点检查,刷新,选择xhr,就可以看到澎湃新闻的ajax请求,会返回一个无格式的网页。网页是这样的。随便点开一个。preview一下,可以看到是新闻的内容。只不过渲染了一下。现在是我们只想要 新闻标题,新闻时间,发布来源。可以通过css提取。把返回结果复制出来,用chrome打开,可以看到使用简单的css选择器,就可以提取。,接下来是程序...原创 2021-09-12 11:48:52 · 911 阅读 · 0 评论 -
请求时的编码问题 Use body.encode(‘utf-8‘) if you want to send it encoded in UTF-8
今天发现一个网站,新榜,是各大网站,视频好的排行网站,请求时动态网页的xhr。网络里选择xhr刷新就可以看到数据。代码如下:import requestsheaders = { 'authority': 'www.newrank.cn', 'sec-ch-ua': '"Microsoft Edge";v="95", "Chromium";v="95", ";Not A Brand";v="99"', 'accept': 'application/json,原创 2021-09-09 05:31:17 · 2004 阅读 · 0 评论 -
python爬虫,爬取猫眼电影2(xpath和bs4)
接着上面的。使用xpath提取信息,虽然python很多库,比如beautifulsoup,也有很多功能,比如查找节点,添加删除节点。但是个人感觉对爬虫来说,最重要的还是提取信息,当然,顺利的提取信息的前提是你得掌握好这些库的用法,不过有些功能确实一辈子也不会用到。对爬虫来说,就是提取文本,获取属性,这两个。还是打开页面,这里我直接读入本地的文件,知识为了简单起见。不在requests了。我们自己做网页爬虫的时候,还是需要借助一些工具的。比如xpath。我经常用的就是 浏览器的xpath hel原创 2021-09-06 16:08:30 · 1063 阅读 · 0 评论 -
python爬虫,爬取猫眼电影1(正则表达式)
本文用正则、xpath、beautifulsoup、css、pyquery几种不同的方式,爬取猫眼电影。只是记录过程。比较乱。猫眼电影现在也添加了一些反爬虫机制,如果直接用requests可能会403.所以最好添加header 和cookies。添加的方法是使用网页的自动生成请求。浏览器登陆,直接百度搜。点击榜单点击top100出来页面之后,点击检查按钮,调出开发者工具。选择network选项卡,然后在页面上,点击右键弹出“重新加载”,有的浏览器可能是“刷新”都...原创 2021-09-06 15:32:53 · 1793 阅读 · 0 评论 -
python,制作山东省的地图 热力图
python制作一个山东省的地图热力图。可以这么做。原创 2021-08-16 16:00:29 · 1235 阅读 · 0 评论 -
利用python进行统计分析学习笔记 第7章
第7章,基本功能部分,讲到了函数应用和映射这里作者说了。,将函数应用到由各列或行所形成的一维数组上。DataFrame 的apply方法即可实现此功能:然后又说,元素级的Python函数也是可以用的。假如你想得到frame中各个浮点值的格式化字 符串,使用applymap即可: 这里我的理解是,apply可以应用与列或者行,map则是应用到每个元素的。比如可以使用一个元素级别的函数,比如这样;但是这个函数,用职能map到元素级别,要应用..原创 2021-08-11 10:53:08 · 105 阅读 · 0 评论 -
pycharm调出参数提示气泡
用pycharm的时候,有时候想调出参数提示的气泡。(不是函数文档,不是帮助文件。)我只是想调出来简要的提示。是这样的。就是这样的,不需要按住ctrl 点击鼠标,效果是不一样的。这样的提示我觉得没有必要。太复杂,反而看不懂。有没有小伙伴跟我一样的感受。我百度了一下,pycharm没有为这个功能提供快捷键。自己设置了一个。原来提供快捷键,但是我的电脑里,ctrl + p 不知道为什么不好用,我自己设置了一个 alt +\。测试有效。...原创 2021-08-11 08:22:38 · 1556 阅读 · 1 评论 -
python进行数据分析,学习笔记 第8章(1)
理论原创 2021-08-11 08:16:41 · 71 阅读 · 0 评论 -
利用python进行数据分析学习笔记 第7章(3)
'''python 使用正则表达式, 也可以先 编译一个正则, 然后,用这个正则 去 match ,search , findall'''text = "text my * IOD soela MYVso its Tye We tokyo hot "pattern = r'my'regex = re.compile(pattern, flags=re.IGNORECASE)regex.search(text)print(regex.search(text))regex.search(te.原创 2021-08-10 18:12:17 · 81 阅读 · 0 评论 -
利用python进行统计及分析第7章,构建电影分类的dummies
########################################################## 对电影数据的操作。 生成哑变量#####################################################import osdata_dir = "python数据科学手册/pydata-book-2nd-edition-代码/datasets/movielens"mnames = ['movie_id', 'title', 'genres'].原创 2021-08-10 15:56:34 · 522 阅读 · 0 评论 -
利用python进行数据分析学习笔记(2)
只是个人笔记,没有观赏价值。'''7.2 检测和过滤异常值'''data = pd.DataFrame(np.random.randn(1000, 4))data.describe()col = data[2]colcol[np.abs(col) > 3]datadata.head()data.columnnames =['a', 'b', 'c', 'd']#################### columnnames 不会改变列的名字, 那会改变什么呢?原创 2021-08-10 15:24:43 · 298 阅读 · 0 评论 -
利用python进行统计分析的一些笔记(1)
这个姿势笔记,比较杂乱,记录学习过程的。第7章。数据清洗"""Series的map方法可以接受一个函数或含有映射关系的字典型对象,使用map是一种实现元素级转换以及其他数据清理工作的便捷方式。map 是一个常用的函数,可以使用它,对变量重新赋值,比如这样的。"""data = pd.DataFrame({'x':range(5), 'y':list('abcde')})datachar2word = { 'a':'apple', 'b':'back...原创 2021-08-10 12:15:15 · 139 阅读 · 0 评论 -
爬虫 python 爬取php的网页,带有post参数的网页如何爬取
记录一下自己的爬虫踩过的坑,上一次倒是写了一些,但是写得不够清楚,这次,写清楚爬取的过程。这个网站是某省的志愿服务网。就是它了。我向爬取一些组织开展过的活动,比如这一个组织,这个组织的页面找打它不存在什么问题,组织的网址只需要拼接就可以了。看似很容易。基础网址是:https://sd.zhiyuanyun.com/app/org/view.php?id=(*****)前面是一堆,后面只需要把id后面的组织的ID放进去就可以,组织的ID也很好找。就是直接从首页...原创 2021-08-06 17:02:02 · 3940 阅读 · 2 评论 -
python正则替换部分字词,更新字典键名,通过字典构造数据
首先,正则替换部分字,这个还是挺有用的,比如姚把人名的某一个字符替换成*,保障隐私,一个两个手动还可以多了就麻烦。比如有一个名字列表我要快速把中间的字符替换成*号。for k, v in dct230.items(): print(k) k2 = re.sub(r"([\u4e00-\u9fa5])([\u4e00-\u9fa5])([\u4e00-\u9fa5]{0,1})", r"\1*\3", k) print(k2) dct230[k2] = .原创 2021-07-18 23:33:18 · 583 阅读 · 0 评论 -
matplotlib 制作不等间距直方图
最近在做一个项目,需要用到直方图,不过需要不等间距的,x轴需要设置成不等的间距。百度了一堆,也没找到解决方法,后来找到一个,实际上是做得条形图,用条形图,替换成直方图。因此也不能算是直方图。记录一下过程。我的数据是一个这样的。有两列,这两列数据要放在一个直方图里,并且是不等间距。而且数据都不是均匀的,如果等间距,就有可能造成很多直方很小,不美观。所以,换一下思路。利用numpy的histogram, 先制作一个不等间距的直方图数列,然后用条形图,把组距和数列的高度划出来。代.原创 2021-07-18 09:01:58 · 3795 阅读 · 2 评论 -
记录webscraper的使用过程
这个记录一下webscraper的使用过程。帮朋友爬取山东慈善总会的网页。由于比较简单,我不想写代码了,就用webscraper把。首先是网站上的新闻,如图:这个新闻有13页,都是比较简单的网页。问题在于要爬去多个页面,然后提取二级页面的内容。使用webscraper,这里就是需要二级页面的内容,包括title, time, content。links是设置的链接。页面的链接形式自由最后一个数字在变:eaa-7aef73cf6329&page=2如下:..原创 2021-07-15 15:25:29 · 623 阅读 · 0 评论 -
python根据列表形成字典。
最近在爬取一个志愿服务的项目,网页是志愿服务网,爬的时候偷懒,只存成了一个大的字典,放到pickle里。无用代码较多。我截图了。得到一个df,这个df是字典的的形式。df = pd.read_pickle(os.path.join(data_dir, org_data_list[1299]))其中PTU是一个里列表,里面还有字典。ptu = df['PTU']ptulen(ptu)ptu里面的每一个元素,有volun_name ,我向做一个大的字典...原创 2021-07-15 10:31:33 · 583 阅读 · 0 评论 -
python爬虫,记录一下爬取过程,列表数据,翻页,post方式,保存字典
记录一下自己的爬虫的过程把,最近在做个项目。要爬取的网站比较简单。其中的问题是:post方式,网站的数据有一些需要使用post方式才能获得。比如,这部分要看到《发起的项目》,需要鼠标点击,刚开始以为是ajax,其实不算,是js的方式获取的。因此,仔细研究发现,其实网址是这样的。https://s*****view.php?id=GKUdgjKayCQvY具体部分省略,看这个网址,其实没什么,但是通过浏览器检查,可以发现,鼠标点击《发起的项目》,会有一个js动作。如果只原创 2021-07-03 16:49:42 · 1196 阅读 · 1 评论 -
pandas如何获取某一个元素的行号,也就是索引值
之前一直困扰了我很长时间。就是如何获得某一个数据表里面,符合一定条件的值的索引,或者行号。今天终于可以做出来了。比如:有一个数据,想要找到这个数据里面,是2018年的呢,怎么办,可以写for循环,原来都是这样写:for i in range(df.shape[0]): if df.iloc[i, ]['year'] == 2018: print(i) print(df.iloc[i, ]['year']) break这里必须这原创 2021-07-01 22:35:50 · 7722 阅读 · 1 评论 -
python两个数据表中的对应数据相加
记录一下自己的学习过程。有很多省份的数据,想要求全国的综合。这些数据都分别存在csv里。如下:我希望把全部省份加起来, 算一个全国总和。这时候需要用到数据表对应值相加。代码如下:先读进来一个数据表,比如df1 是湖北的。在df1 的基础上创建一个空表。df_empty = pd.DataFrame(np.zeros(df1.shape), columns=df1.columns, index=df1.index)这样df_empty是然后写一个for循环,逐个原创 2021-07-01 05:53:49 · 4932 阅读 · 3 评论 -
爬虫css选择器,选择属性
有一个网页是这样的,我向提取onclick里的值。这时用attr,如下代码: if selector.css(".con10 a.but_alert").get(): id = selector.css(".con10 a.but_alert::attr(onclick)").extract() print(id) dict_org['id'] = id else: dict_org['id'] = None原创 2021-06-29 15:04:43 · 292 阅读 · 1 评论 -
python pandas 合并数据
问题是这样的,我有一个数据表集合,包括很多省份的年份数据。如下图:每个表格数据表内部是这种:比如上海:再比如 云南现在想要把31个省份合并到一个大表,就是如下。可以使用下面的命令:def get_all_cross(): df = pd.DataFrame({ "year":list(range(2013, 2022)), "prov":"all" }) for i in range(len(cross_li原创 2021-06-29 06:24:21 · 176 阅读 · 1 评论 -
python获取列表中元素的索引
python中,列表一般是没有索引,不能像pandas里面的序列和dataframe一样,方便的使用索引。但是如果想知道某一个元素在列表中的位置,就需要使用index比如想要知道一个列表中,哪一个元素是Nonepost_clean.index(None)#post_clean是一个列表这时返回列表中的索引值。如果想知道多个元素,那么使用print([ i for i, x in enumerate(post_clean) if x == None])...原创 2021-06-27 08:15:08 · 5668 阅读 · 0 评论 -
python 将counter 的结果转换为字典
有时候有这种需要,比如我对一个文本计数了,然后想做词云图。这时候可以用直接使用dict就可以。all_words = sum(corpus2, [])len(all_words)c = Counter(all_words)dict(c.most_common(10)) #直接使用dictwc = WordCloud().generate_from_frequencies(dict(c.most_common(200)))plt.imshow(wc)这也可以认为,dict功原创 2021-06-24 11:20:24 · 3369 阅读 · 0 评论 -
pandas 排序一个变量
pandas排序一个变量可以使用df2.sort_values(by=['year', 'title2'], axis=0, inplace=True, ascending=[False, False])原创 2021-06-23 15:15:13 · 71 阅读 · 0 评论 -
pandas的str函数的一些功能
之前要判断有一列是否包含一个字符串,往往写一个for循环,有点麻烦。今天忽然想到可以用str功能呢。记录一下:idx_dy = []for url in df['real_url']: if "dy/article" in url: idx_dy.append(1) else: idx_dy.append(0)df['real_url'].str.contains("dy/article")df['idx_dy'] = df['rea.原创 2021-06-23 09:44:59 · 381 阅读 · 0 评论 -
python做方差分析和卡方检验
from scipy.stats import chi2_contingencychi2_contingency([[40, 10], [10, 40]], False)做卡方检验,结果为原创 2021-06-14 22:54:10 · 334 阅读 · 2 评论 -
pandas 删除有缺失值的个案,做回归分析
如题:df_result3 = df.dropna(axis = 0, subset = ['politic_enter1very','poli_effect', 'poli_know', 'authoritorian', 'idea_left_is_the_big_value' ])df_result3.shapey = df_result3['politic_enter1very']x = df_result3[['poli_effect', 'poli_know', 'authori原创 2021-06-11 10:07:54 · 306 阅读 · 2 评论 -
python字典随时添加元素和值
python的字典可以随时添加元素,使用update比如:dict_a = {}dict_a.update(B = 4)dict_得到结果。原创 2021-06-10 08:22:27 · 302 阅读 · 2 评论 -
pandas把多个列相加求和、输出字母a-z
今天分析数据遇到两个问题,1,把pandas的dataframe多个列相加,得到一个和,怎么实现。另外如何输出字母‘a-z'。分别记录一下:多个列相加,原创 2021-06-07 22:45:26 · 2401 阅读 · 0 评论 -
pandas将字典转换成dataframe,两重字典
我有一个字典是这样的,现在xiang原创 2021-06-01 22:58:35 · 572 阅读 · 0 评论 -
python字典写入csv文件
try: with open(csv_file, 'w', encoding='utf-8') as csvfile: print(csvfile) writer = csv.DictWriter(csvfile, fieldnames=csv_columns) writer.writeheader() for data in dict_data: wr...原创 2021-05-15 21:07:08 · 611 阅读 · 0 评论 -
pandas把频数统计转换成数据表
有一个数据表,我统计了一下频数,现在想把频数统计表转换成dataframe,比如:df['region'].value_counts()df_region_count = df['region'].value_counts()df_region_count2 = df_region_count.reset_index()df_region_count2.columns = ['name', 'count']df_region_count2...原创 2021-04-18 11:35:03 · 606 阅读 · 0 评论