自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(116)
  • 资源 (2)
  • 收藏
  • 关注

原创 利用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 345

原创 利用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 189

原创 爬虫 python 爬取php的网页,带有post参数的网页如何爬取

记录一下自己的爬虫踩过的坑,上一次倒是写了一些,但是写得不够清楚,这次,写清楚爬取的过程。这个网站是某省的志愿服务网。就是它了。我向爬取一些组织开展过的活动,比如这一个组织,这个组织的页面找打它不存在什么问题,组织的网址只需要拼接就可以了。看似很容易。基础网址是:https://sd.zhiyuanyun.com/app/org/view.php?id=(*****)前面是一堆,后面只需要把id后面的组织的ID放进去就可以,组织的ID也很好找。就是直接从首页...

2021-08-06 17:02:02 4501 2

原创 记录一下pandas的分组统计功能,agg

主要是记录一下pandas学习,最近要统计一个数据,我向以前stata里面有一个很好用的函数,就是tabstat,可以分组统计,并且输出很多指标。最近处理数据我的数据是这样的。我向按照 valid_num分组,统计avg_stand的均值,标准差,最大,最小。最先想到是的stata的tabstat,以前用的很舒服。现在换python了。感觉可以用groupby,但是不知道怎么用。百度了 一下。group1 = df_avg.groupby('valid_num')group1['a.

2021-07-19 22:57:33 358

原创 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 637

原创 matplotlib 制作不等间距直方图

最近在做一个项目,需要用到直方图,不过需要不等间距的,x轴需要设置成不等的间距。百度了一堆,也没找到解决方法,后来找到一个,实际上是做得条形图,用条形图,替换成直方图。因此也不能算是直方图。记录一下过程。我的数据是一个这样的。有两列,这两列数据要放在一个直方图里,并且是不等间距。而且数据都不是均匀的,如果等间距,就有可能造成很多直方很小,不美观。所以,换一下思路。利用numpy的histogram, 先制作一个不等间距的直方图数列,然后用条形图,把组距和数列的高度划出来。代.

2021-07-18 09:01:58 4152 2

原创 记录webscraper的使用过程

这个记录一下webscraper的使用过程。帮朋友爬取山东慈善总会的网页。由于比较简单,我不想写代码了,就用webscraper把。首先是网站上的新闻,如图:这个新闻有13页,都是比较简单的网页。问题在于要爬去多个页面,然后提取二级页面的内容。使用webscraper,这里就是需要二级页面的内容,包括title, time, content。links是设置的链接。页面的链接形式自由最后一个数字在变:eaa-7aef73cf6329&page=2如下:..

2021-07-15 15:25:29 672

原创 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 649

原创 python爬虫,记录一下爬取过程,列表数据,翻页,post方式,保存字典

记录一下自己的爬虫的过程把,最近在做个项目。要爬取的网站比较简单。其中的问题是:post方式,网站的数据有一些需要使用post方式才能获得。比如,这部分要看到《发起的项目》,需要鼠标点击,刚开始以为是ajax,其实不算,是js的方式获取的。因此,仔细研究发现,其实网址是这样的。https://s*****view.php?id=GKUdgjKayCQvY具体部分省略,看这个网址,其实没什么,但是通过浏览器检查,可以发现,鼠标点击《发起的项目》,会有一个js动作。如果只

2021-07-03 16:49:42 1290 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 7978 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 5180 3

原创 修改字典的方法

抄来的描述Python 字典 update() 方法用于更新字典中的键/值对,可以修改存在的键对应的值,也可以添加新的键/值对到字典中。用法与 Python dict() 函数相似。D.update(key/value)实例以下实例展示了 update() 方法的使用方法:D = {‘one’: 1, ‘two’: 2}D.update({‘three’: 3, ‘four’: 4}) # 传一个字典print(D)D.update(five=5, six=6) # 传关键字pri

2021-06-30 09:13:49 1256

原创 爬虫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 337 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 229 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 5746

原创 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 3710

原创 pandas 排序一个变量

pandas排序一个变量可以使用df2.sort_values(by=['year', 'title2'], axis=0, inplace=True, ascending=[False, False])

2021-06-23 15:15:13 113

原创 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 429

原创 python做方差分析和卡方检验

from scipy.stats import chi2_contingencychi2_contingency([[40, 10], [10, 40]], False)做卡方检验,结果为

2021-06-14 22:54:10 407 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 341 2

原创 python字典随时添加元素和值

python的字典可以随时添加元素,使用update比如:dict_a = {}dict_a.update(B = 4)dict_得到结果。

2021-06-10 08:22:27 359 2

原创 修改sublime列编辑快捷键

这个问题在好几个电脑上搞了好几次,每次都要搜搜,记录备忘。的sublime列编辑修改为简单的快捷键:路径:Preferences→Key Bindings默认是 { "keys": ["alt+shift+up"], "command": "select_lines", "args": {"forward": false} }, { "keys": ["alt+shift+down"], "command": "select_lines", "args": {"forward": tru

2021-06-09 20:00:54 369

原创 pandas把多个列相加求和、输出字母a-z

今天分析数据遇到两个问题,1,把pandas的dataframe多个列相加,得到一个和,怎么实现。另外如何输出字母‘a-z'。分别记录一下:多个列相加,

2021-06-07 22:45:26 2638

原创 pandas将字典转换成dataframe,两重字典

我有一个字典是这样的,现在xiang

2021-06-01 22:58:35 656

原创 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 679

原创 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 651

原创 新版pycharm,亮瞎我的狗眼

如题

2021-04-08 08:41:56 139 1

原创 win10打开开机启动文件夹

在弹出【运行】窗体中,输入shell:startup命令

2021-04-04 06:49:09 260

原创 python获取列表中指定元素的下标

python中列表元素虽然有下标,但是有时候需要特定的用途,查找指定的特殊值的元素的下标。这时候可以用for循环,打印出来下标,但是每次都要写for循环,感觉还是有点麻烦。比如这样使用enumerate,枚举列表中的元素,a = [1, 2, 8, None, 'test']for i in range(len(a)): if a[i] == None: print(i)for i in range(len(a)): if isinstance(a[i

2021-03-31 21:56:36 11005

原创 python字典通过键值获取键名,通过value获取key

python通过字典的value获取key,最好的方法是反转键值,然后通过key在获得value比如:也可以通过list把键变成列表,然后,在list中获取字典相应的值对应的键,比如但是这样很麻烦,很容易不知道在干什么。其他的方法也有。比这两种还麻烦。...

2021-03-29 08:33:35 5458 2

原创 列出mongodb里的所有表的名字,合并所有表到一个大表,用pandas

如题:import pymongoimport pandas as pdclient = pymongo.MongoClient()wk_dir = "dataForAnlys/new_2021"db = client.RMW_FINAL_DB2021327coll_names = db.list_collection_names()db.list_collection_names()coll_namesdf = pd.DataFrame()for cn in coll_nam

2021-03-29 06:02:39 886

原创 pandas纵向合并数据

pandas纵向合并数据

2021-03-29 05:55:24 1158

原创 mongodb更新数据,查找相同的id,有重复的,就更新。

最近在用mongodb保存一些爬虫的数据。遇到问题就是,需要把那些重复的数据更新,这个网站是滚动的,以前爬到的数据,同一个页面,可能现在有人回复了,页面的内容页就变了。向把以前保存过的数据再更新一下。不再重复保存。当然重复保存也可以,后期需要删除重复的数据。最好还是更新。使用mongodb 的update_one命令可以实现这种功能。比如:import pymongoclient = pymongo.MongoClient()db = client.dbcollection = db.c

2021-03-27 13:43:52 1495

原创 pandas 判断某个变量出于某一个范围

pandas判断某个变量是否出于某一个范围,用between。比如df_sat = df[df['sat_length'].between(6, 8)]

2021-03-16 21:41:27 2110

原创 批量合并ts文件

批量合并ts文件命令copy /b F:\qcsd\3*.ts F:\qcsd\3\result.ts

2021-02-18 17:10:50 1168

原创 pandas按照索引来赋值,按照数据表的索引批量给某一个变量赋值的方法。

df_test = pd.DataFrame(np.arange(40).reshape(10, 4), columns=['a', 'b', 'c', 'd'], index=np.arange(10))df_test.at[[1, 3, 5, 7], 'a'] = 0df_test结果如图:当然,还可以使用这个方法https://www.cnpython.com/qa/292739参考这个方法,有时候,不好用,有时候好用,不知道为什么。...

2021-02-07 08:41:17 3241

原创 结巴分词jieba添加自定义词典

结巴分词添加自定义词典,有时候很有必要。比如下面这段话:test_text = """我们的健康码也是绿色的, 这凭什么就限制我们的就医!"""如果使用默认的分词,那么,“健康码”这个词会分成“健康”和“码”这里可以使用词典方式,添加自定义词典。新建一个txt文件,在文件里输入“健康码”以utf-8形式保存,这里使用pycharm,默认就是utf8.不用管。然后使用jieba.load_userdict(os.path.join(wk_dir, "jiebaD

2021-02-07 08:23:20 15257 3

原创 pandas把索引变成列

pandas把索引变成列,只需要使用reset_index。这样index就会变成一列变量出现在元数据表中。比如原来的数据表是上面这样,使用reset_index就变成这样具体reset_index,还有一些更细的应用,后续随着学习再继续更新吧...

2021-02-06 22:26:00 21760

原创 python 实现判断一个列表中的一个或多个元素是否存在于一个字符串中。

先描述一下问题,我想判断几个特定的字符串,是否存在某一个长字符串之中,比如,有一个大数据表,里面有很多字符串的列。是这样的。想要判断 这个列里面,是否有哪个包含 比如“肺炎”, “新冠”, “公正” 等等,这样的词。如果包含,就为True, 如果想判断的词不多,直接用or ,但是多了,写的语句太长,有点麻烦就使用下面的方式。test10 = ['建议建立比较公正、客观的晋职称规则', '建议不要拿处分卡教师晋职称', '建议全区中小学教师晋职称实行统一的规则', '投诉呼玛教

2021-02-01 08:54:37 6665 4

原创 python里面pandas对数据表的变量重新赋值,将满意,不满意的李克特量表赋值为数字

pandas里,将李克特量表的字符串,比如赋值为5, 4, 3, 2, 1方法如下:定义一个字典y_dict = { "很满意":5, "满意":4, "基本满意":3, "不满意":2, "很不满意":1}然后使用map,这里‘y_sat'是原来的变量,即字符串格式的变量,’y_value‘,就转换成了新变量。5-1的数字。df['y_value'] = df['y_sat'].map(y_dict)如果原来的变量里..

2021-01-30 05:42:44 4028

儿童青少年视力数据8777个

这个是博客里提到的儿童青少年视力数据。共8777个。只是为了科学研究,希望转载的注明出处。不要用与其他目的。

2022-02-16

shandong.json

山东省的地图文件,做热力图的代码在我的博客里。

2021-08-16

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除