
Data Analysis with Python
风度翩翩猪肉王子
这个作者很懒,什么都没留下…
展开
-
Python字典排序
对字典进行排序包括两种类型:根据key的大小对字典排序、根据value大小对字典排序。基于key的字典排序from operator import itemgetterd = {"a":8,"b":4,"c":12}print(sorted(d.items(),key=itemgetter(0),reverse=True))输出结果为:[('c', 12), ('b', 4), (...原创 2019-11-09 13:20:38 · 206 阅读 · 0 评论 -
Python绘制词云图wordcloud
假设文本内容为如下所示:三支决策聚类理论模型与方法研究基于三支决策的微博中文反语识别研究数据分析的三层与三支属性约简系统研究基于决策粗糙集的模糊多分类三支决策方法与应用研究三支决策空间理论研究面向复杂数据的多粒度三支决策研究三支概念格构建理论与方法三支决策不确定性度量与精准推理研究中医人体健康状态辨识三支决策问题研究直觉模糊信息下的三支决策粗糙集方法及知识获取研究在线流计算背景下的三支决策迁移...原创 2019-11-07 20:47:32 · 1698 阅读 · 2 评论 -
Jupyter notebook快捷键
shift+两个Tab键查看说明文档原创 2019-11-01 20:59:50 · 123 阅读 · 0 评论 -
Python弹幕情感分析之《我就是演员》
当我们爬取了弹幕内容后,我们进行简单的情感分析。import pandas as pdimport jiebafrom matplotlib import pyplot as pltimport matplotlib as mplmpl.rcParams['font.sans-serif'] = ['SimHei'] # 指定默认字体 SimHei为黑体mpl.rcParams['...原创 2018-12-10 20:01:39 · 3011 阅读 · 1 评论 -
利用Python获取数组或列表中最大的N个数及其索引
import heapq a=[43,5,65,4,5,8,87]re1 = heapq.nlargest(3, a) #求最大的三个元素,并排序re2 = map(a.index, heapq.nlargest(3, a)) #求最大的三个索引 nsmallest与nlargest相反,求最小print(re1)print(list(re2)) #因为re1由map()生...原创 2019-01-10 17:15:49 · 11689 阅读 · 4 评论 -
Python列表中有重复元素时,如何求所有重复元素的索引下标
如果列表中没有重复元素,我们直接调用Python内置方法index()即可。但是如果列表中存在重复元素时,直接使用内置方法会出错,因为该内置方法始终会识别重复元素的第一个值的下标。列表中没有重复元素时,求元素下标x = [2, 5, 6]for i in x: print(x.index(i))输出结果:012列表中有重复元素时,求元素下标直接调用内部方法x = [...原创 2019-02-25 21:14:50 · 22291 阅读 · 4 评论 -
Python--关于随机
关于随机的几个函数的区别,主要是Python内置的随机库random模块与numpy中的随机库np.random之间的差别。随机种子随机种子的设定,可以保证每次运行时的随机数都是相同的,但要注意该种子是通过什么方法产生的。random.seed(a_number) 与np.random.seed(a_number)产生的随机种子是不一样的。抽样randomimport random...原创 2019-03-17 10:45:59 · 184 阅读 · 0 评论 -
从指定的文件夹下打开Jupyter Notebook
在键盘上,同时按住win和R键,win键是键盘上的Windows图标,在弹出的界面中输入cmd,运行,如下图所示:第一步:输入哪一个此磁盘,比如我输入的是F磁盘,执行F:命令(英文冒号)。第二部:输入cd+空格+你复制的文件路径,运行就到了指定的文件目录下。如下图所示:第三步:输入命令jupyter notebook,等待即可。如下图所示:...原创 2019-03-18 09:15:57 · 1770 阅读 · 0 评论 -
Python统计列表list中各个元素出现的频率
from collections import Counterx = [59, 138, 13, 1367, 158, 35, 572, 43, 10, 34, 572, 572, 44, 12, 1345, 7, 21, 59, 10]# 统计列表中元素出现的频率counter = Counter(x)print(counter)# 将列表中的元素按照频率大小排序# 方法一p...原创 2019-04-27 11:05:03 · 3920 阅读 · 0 评论 -
Pandas使用技巧-apply,条件筛选
使用Pandas的技巧就是熟悉Pandas的函数库,在数据处理过程中尽量使用Pandas方法。Pandas支持类似SQL的语句,适合对二维表格数据进行处理。apply()批量数据处理import pandas as pdIn [4]: data = [{'A': i, 'B': 2*i} for i in range(1, 8, 2)]In [5]: dataOut[5]: [{'...原创 2019-04-29 09:41:01 · 7805 阅读 · 0 评论 -
pandas取某几列
import pandas as pddata = pd.read_csv()data = data.iloc[:, 0:13] # 按位置取某几列原创 2019-06-19 11:31:11 · 37320 阅读 · 0 评论 -
利用Pandas读写Excel
我们在保存表格类型的数据时,通常会选择csv文件或者xlsx文件,因此会相应的采取这两个库。但是今天介绍的方法利用Pandas读写Excel非常的简便。第1步 导入Pandasimport pandas as pd第2步 存入数据假设有多个列表数据,并且每个列表等长,不妨假设现有列表x1, x2, x3, x4。2.1 将列表转换为字典data = { '名称1': x1, '名...原创 2019-08-06 14:57:43 · 1263 阅读 · 0 评论 -
数据存储到csv文件中
注意用open()函数打开文件时,必须指定编码,否则会报错(最好每次都用utf-8-sig),在存入到csv文件中时注意使用追加形式添加。# id, agree, comments是三个列表 for (i, j, k) in zip(id, agree, comments): # zip()函数可以将多个列表生成可迭代对象 # newline=''可以避免存入空行;追加写入 with...原创 2018-12-10 19:30:50 · 2079 阅读 · 0 评论 -
词云wordcloud操作
import pandas as pdimport jiebaimport matplotlib.pyplot as pltfrom wordcloud import WordCloud, STOPWORDS, ImageColorGenerator# 加载自定义的词典jieba.load_userdict('stopwords.txt')jieba.add_word('韩雪')...原创 2018-12-10 15:28:27 · 996 阅读 · 2 评论 -
Pandas详解(1)
1. 数据结构Pandas有两种数据结构:Series 和 DataFrame。这两种数据结构都是建立在Numpy的数组上面的,对数据的处理效率很高。import pandas as pdimport numpy as np2. SeriesSeries 是一个带有名称和索引的一维数组,Series 中包含的数据类型可以是整数、浮点、字符串、Python对象等。 一个 Se...原创 2018-08-13 11:35:10 · 228 阅读 · 0 评论 -
Pandas详解(2)
我们知道了Pandas有两个数据结构Series(一列)和DataFrame(多列),其中DataFrame的一列数据就是Series对象。1. 基本功能import numpy as npimport pandas as pd示例:# 构建索引,并创建索引的名字index = pd.Index(data=["Tom", "Bob", "Mary", "James"],...转载 2018-08-13 15:50:28 · 206 阅读 · 0 评论 -
12种降维方法终极指南
来源:Analytics Vidhya编译:Bot授权自 论智你遇到过特征超过1000个的数据集吗?超过5万个的呢?我遇到过。降维是一个非常具有挑战性的任务,尤其是当你不知道该从哪里开始的时候。拥有这么多变量既是一个恩惠——数据量越大,分析结果越可信;也是一种诅咒——你真的会感到一片茫然,无从下手。面对这么多特征,在微观层面分析每个变量显然不可...转载 2018-09-03 15:51:38 · 46482 阅读 · 0 评论 -
Matplotlib坐标轴
import matplotlib.pyplot as pltimport mpl_toolkits.axisartist as axisartist#创建画布fig = plt.figure()#使用axisartist.Subplot方法创建一个绘图区对象axax = axisartist.Subplot(fig, 111)#将绘图区对象添加到画布中fig.add_axes...原创 2018-09-24 22:40:18 · 636 阅读 · 0 评论 -
Python梯度法——最速下降法
假设我们已经知道梯度法——最速下降法的原理。现给出一个算例:如果人工直接求解:现给出Python求解过程:import numpy as npfrom sympy import *import mathimport matplotlib.pyplot as pltimport mpl_toolkits.axisartist as axisartist# 定义符号x1, ...原创 2018-09-24 22:52:34 · 8667 阅读 · 14 评论 -
Python-sympy符号表达式
我们如何利用Python写出符号表达式(函数表达式)呢?如何求函数值呢?如何求导数或偏导数呢?如何求函数的零点、方程的根呢?比如:from sympy import *x1, x2= symbols('x1, x2') # 声明符号变量,否则会认为没有定义def func1(): # 自定义一个函数,前提:声明变量 return pow(x1, 2) + 2 * p...原创 2018-09-24 23:13:27 · 6294 阅读 · 5 评论 -
Python黄金分割法求解--非线性规划问题极小值
import mathimport numpy as npimport matplotlib.pyplot as pltimport mpl_toolkits.axisartist as axisartistdef f(x): # 自定义函数 # 因为有形参x,故不用sympy声明符号变量 return 5*pow(x, 2) + 3*x + 4def go...原创 2018-09-24 23:45:49 · 3247 阅读 · 0 评论 -
Python求解线性方程组
我们可以直接调用现成的函数库,直接求解线性方程组,而不用自己去写源代码。# 求解线性方程组from scipy import linalgimport numpy as np# x1 + x2 + 7*x3 = 2# 2*x1 + 3*x2 + 5*x3 = 3# 4*x1 + 2*x2 + 6*x3 = 4A = np.array([[1, 1, 7], [2, 3, 5]...原创 2018-09-27 21:58:39 · 23856 阅读 · 5 评论 -
IPython或Spyder将 省略号 表示的内容完整输出
在Spyder界面下输出内容较多时,软件会用省略号表示中间内容,如下图所示:下面我们通过代码说明如何将中间省略的部分输出。import numpy as npS = np.arange(-5, 6, 1)# 设定阈值,Ipython界面将省略号表示的内容完整输出np.set_printoptions(threshold=1e6) print(S)运行后得到的结果如下图所示:...原创 2018-11-23 09:18:28 · 5822 阅读 · 0 评论 -
Matplotlib画图
导入相关包from matplotlib import pyplot as pltimport matplotlib as mpl可以显示中文标题mpl.rcParams['font.sans-serif'] = ['SimHei'] # 指定默认字体 SimHei为黑体mpl.rcParams['axes.unicode_minus'] = False # 用来正常显示负号作...原创 2018-12-10 14:53:20 · 245 阅读 · 0 评论 -
pandas读取csv文件
import pandas as pdpd.set_option('display.max_columns', None) # 在pycharm下可以显示所有列pd.set_options('display.max_rows', None) # 在pycharm下可以显示所有行# 给每一列命名,注意第一行的设置data = pd.read_csv('path\actor_danmu...原创 2018-12-10 15:17:55 · 932 阅读 · 0 评论 -
numpy数据不用省略号表示、取消科学记数法
import numpy as np# 保证所有数据能够显示,而不是用省略号表示,np.inf表示一个足够大的数np.set_printoptions(threshold = np.inf) # 若想不以科学计数显示:np.set_printoptions(suppress = True)...原创 2018-12-10 15:19:45 · 7313 阅读 · 0 评论 -
Python读取MongoDB数据
# 导入相关模块import pymongoimport pandas as pd# 连接数据库client = pymongo.MongoClient('localhost', 27017)db = client['JD']table = db['iphoneX-comments']# 读取数据data = pd.DataFrame(list(table.find()))...原创 2018-08-13 10:41:06 · 16351 阅读 · 3 评论