
数据分析
dta0502
个人博客:https://tding.top/
展开
-
Seaborn lineplot图例标题设置
详细版本见个人博客:Seaborn lineplot图例标题设置一、问题描述下面是我的lineplot()代码,如果此方法用了hue参数同时绘制多个类别图,这时候seaborn会把这个hue的标签当做子标题。sns.lineplot(x="time", y="value", hue="category", data=df) 如果我用下面的方法,会产生一个新图例的标题,原来的图例标题并没...原创 2019-05-16 15:19:01 · 21259 阅读 · 2 评论 -
ImportError: Install xlrd >= 0.9.0 for Excel support错误的解决
问题描述在执行pandas读取excel的操作时,出现了问题,代码如下:data = pd.read_excel(discfile)ImportError: Install xlrd >= 0.9.0 for Excel support解决办法需要pip安装xlrd的库,并且在当前代码中import这个xlrd这个库。...转载 2018-11-29 21:16:03 · 1463 阅读 · 0 评论 -
numpy.ndarray指定每个元素保留小数点后多少位---np.around
问题我在采用round处理一个np.ndarray数组时,报出一个错误:TypeError: type numpy.ndarray doesn't define __round__ method解决采用numpy.around()函数,它类似于Python原生的round()函数。numpy.around参数说明numpy.around(a, decimals=0, out=None...原创 2018-11-11 19:48:46 · 28948 阅读 · 2 评论 -
Pandas DataFrame的index重新排列
问题描述我选取了一个DataFrame的一部分数据得到了df1,但是index还是原来df的index,我想让新的df的index重新按照从0开始计数。比如说,我的df1是这样的>>> df1 col1 col22 0.5 0.96 1.1 3.211 2.1 0.5我希望的是>&...转载 2018-11-05 13:19:05 · 56182 阅读 · 2 评论 -
Pandas Dataframe数据转换为二维数组array
一个Dataframe如下: age astigmatic lenses_target prescript tearRate0 2 0 1 1 11 2 0 2 1 02 2 ...转载 2018-11-07 19:01:29 · 8841 阅读 · 0 评论 -
Matplotlib 画竖直和水平的分割线
vlines(x, ymin, ymax)hlines(y, xmin, xmax)plt.vlines(0, 0, 0.5, colors = "r", linestyles = "dashed")转载 2018-11-07 17:04:23 · 39101 阅读 · 0 评论 -
Win10下Matplotlib图例中文乱码解决
系统:Win10Python版本:3.6第一步找到matplotlib 配置文件:import matplotlib print(matplotlib.matplotlib_fname()) D:\Program Files\Python36\Lib\site-packages\matplotlib\mpl-data\matplotlibrc第二步编辑器打开此文件 matp...转载 2018-11-07 14:38:03 · 770 阅读 · 0 评论 -
Pandas读文件(不把第一行作列属性)
import pandas as pd#read_table可以指定分隔符data1 = pd.read_csv("test.csv")#自动把第一行作列属性,第一行不能用data2 = pd.read_csv("test.cvs",header=None)#不把第一行作列属性data2 = data2.conlumns(["A","B"])#修改列属性转载 2018-11-04 13:28:47 · 2675 阅读 · 0 评论 -
Pandas替换科学计数法数字
用Pandas读取数据时发现工单编号、电话号码等变成科学计数法记录。通过观察当电话号码类型是float时采用科学计数法,而int不会。将电话号码转化成int类型(在Excel里电话号码转化成字符串类型也没有解决问题)首先要将空值转化成数值,这里我转化成了-1(这里我把data所有字段都填了-1)data = data.fillna(-1)将电话号码字段转化成int类型(我把所有需要i...转载 2018-11-03 19:01:36 · 7352 阅读 · 0 评论 -
Pandas DataFrame的pop()方法
pop方法pop方法可以将所选列从原数据块中弹出,原数据块不再保留该列。改变某一列的位置如:先删除gender列,然后在原表data中第0列插入被删掉的列。data.insert(0, '性别', data.pop('gender')) #pop返回删除的列,插入到第0列,并取新名为'性别'data输出为: 性别 age name0 male 23 y...转载 2018-12-02 18:37:09 · 19896 阅读 · 0 评论 -
Python词云库wordcloud中文显示问题
问题wordcloud默认是不支持显示中文的,中文会被显示成方框。解决经过测试发现不支持显示中文的原因是因为wordcloud的默认字体不支持中文,那就好办了,我们设置一种支持中文的字体即可, wordlcloud.WordCloud类初始化函数有个设置字体的参数font_path,把支持中文的字体的路径传给font_path。GitHub有个Adobe开源的支持中文的字体库:https:...转载 2018-12-05 16:35:46 · 2692 阅读 · 0 评论 -
Seaborn双变量分布jointplot的坐标轴标签设置
详细版本见个人博客:Seaborn双变量分布jointplot的坐标轴标签设置一、问题描述我采用jointplot()进行双变量分布绘图:sns.jointplot(x, y)但是没法通过plt.xlabel来修改它的坐标轴标签。二、解决办法这里要用到JointGrid对象。jointplot()函数基于JointGrid对象来控制图形。我们可以直接使用JointGrid来获得...原创 2019-05-14 21:06:43 · 9431 阅读 · 0 评论 -
Python Dataframe 指定多列去重、求差集
去重指定多列去重,这是在dataframe没有独一无二的字段作为PK(主键)时,需要指定多个字段一起作为该行的PK,在这种情况下对整体数据进行去重。主要用到了drop_duplicates方法,并设置参数subset为多个字段名构成的数组。>>>import pandas as pd >>>data={'state':[1,1,2,2,1,2,2],'...转载 2018-12-31 19:21:00 · 8539 阅读 · 2 评论 -
Pandas过滤DataFrame中包含特定字符串的数据
假如有一列全是字符串的DataFrame,希望提取包含特定字符的所有数据,该如何提取呢?1、首先将他们进行字符串化,并得到其对应的布尔值df_town['name'].str.contains("镇")2、通过DataFrame的基本操作将其选取出来df_town_town = df_town[bool]总结:这样就成功将特定数据选取出来了,将代码汇总一下就是:df_town_to...转载 2018-12-24 13:50:02 · 18318 阅读 · 8 评论 -
Pandas 只保留日期部分
从版本0.15.0开始,现在可以使用.dt轻松地访问日期组件:df['just_date'] = df['dates'].dt.date转载 2018-12-16 21:42:55 · 13630 阅读 · 0 评论 -
Pandas日期时间列(Python)中仅提取月份和年份
年份和月份合并的一种方法是对它们进行整数编码,如2014年8月的201408。df['YearMonth'] = df['ArrivalDate'].map(lambda x: 1000*x.year + x.month)转载 2018-12-16 21:23:00 · 48854 阅读 · 2 评论 -
Python Pandas 中用0替换所有NaN值
df = df.fillna(value_to_replace_null)转载 2018-12-16 20:35:22 · 24506 阅读 · 3 评论 -
Python - pyecharts:直接将图片保存为 png, pdf, gif 格式的文件
关键:使用 pyecharts-snapshot插件第一步:安装node.js第二步:安装phantomjs命令行中输入:npm install -g phantomjs-prebuilt安装完成后检查是否成功,命令行输入:phantomjs第三步:安装 pyecharts-snapshotpip install pyecharts-snapshot第四步:代码中使用ba...转载 2018-12-15 20:06:24 · 8240 阅读 · 1 评论 -
np.argsort详解
说明numpy.argsort(a, axis=-1, kind='quicksort', order=None) 功能: 将矩阵a按照axis排序,并返回排序后的下标参数: a:输入矩阵, axis:需要排序的维度返回值: 输出排序后的下标实例>>> x = np.array([3, 1, 2])>>> np.argsort(x)arra...转载 2018-12-05 19:31:34 · 3360 阅读 · 0 评论 -
Jupyter Notebook输出矢量图
相信大家都很熟悉在 Jupyter Notebook 上面用 Matplotlib 了,但是不知道大家看到画出来那一坨糊糊的东西会不会跟我一样浑身难受。实际上,只要多加一行配置,就能够让 Matplotlib 在 Jupyter Notebook 上面输出矢量图了:import matplotlibimport matplotlib.pyplot as plt%matplotlib inli...转载 2018-10-31 11:15:21 · 6189 阅读 · 0 评论 -
Windows远程访问服务器的Jupyter Notebook
Windows上需要安装 Putty 和 Git。在Windows采用Putty登陆服务端,在远程服务器上启动jupyter notebook:jupyter notebook --no-browser --port=8889 --ip=127.0.0.1 --allow-root采用Git Bash在本地机上把远程jupyter与本地端口绑定,注意:sername为服务器端...转载 2018-10-31 10:09:48 · 293 阅读 · 0 评论 -
Pandas DataFrame关于显示值省略的解决方法
转载于:pandas中DataFrame关于显示值省略的解决方法在使用DataFrame中有时候会遇到表格中的value显示不完全,像下面这样:import pandas as pdlongString = u'''真正的科学家应当是个幻想家;谁不是幻想家,谁就只能把自己称为实践家。人生的磨难是很多的,所以我们不可对于每一件轻微的伤害都过于敏感。在生活磨难面前,精神上的坚强和无动于衷是我们...转载 2018-10-21 16:21:57 · 1309 阅读 · 0 评论 -
Python中DataFrame常见操作:取行、列、切片、统计特征值
Python中DataFrame常见操作:取行、列、切片、统计特征值:# -*- coding: utf-8 -*-import numpy as npimport pandas as pddata = pd.DataFrame(np.arange(16).reshape(4,4),index = list("ABCD"),columns=list('wxyz'))print(da...转载 2018-09-02 13:01:28 · 6782 阅读 · 0 评论 -
Pandas的SettingWithCopyWarning警告出现的原因和如何避免
这段时间一直在用pandas,今天运行前人代码发现报了一个warning:SettingWithCopyWarning: A value is trying to be set on a copy of a slice from a DataFrame See the caveats in the documentation: http://pandas.pydata.org/pand...转载 2018-09-01 17:09:12 · 3659 阅读 · 2 评论 -
Python合并多个csv文件
导入所需的包import osimport pandas as pdimport glob合并多个csv文件csv_list = glob.glob('*.csv') #查看同文件夹下的csv文件数print(u'共发现%s个CSV文件'% len(csv_list))print(u'正在处理............')for i in csv_list: #循环读取同文...原创 2018-08-24 19:12:54 · 29891 阅读 · 6 评论 -
Pandas DataFrame数据写入文件和数据库
Pandas是Python下一个开源数据分析的库,它提供的数据结构DataFrame极大的简化了数据分析过程中一些繁琐操作,DataFrame是一张多维的表,大家可以把它想象成一张Excel表单或者Sql表。之前这篇文章已经介绍了从各种数据源将原始数据载入到dataframe中,这篇文件介绍怎么将处理好的dataframe中的数据写入到文件和数据库中。创建DataFrame对象首先我们...转载 2018-08-20 19:19:28 · 3891 阅读 · 1 评论 -
拉勾网`Python职位`分析
在前面一篇文章—拉勾网职位数据爬取,我爬取了拉勾网在杭州、Python职位、应届生这三个条件下的所有数据。下面我对这些数据做一下分析。import pandas as pdimport matplotlib.pyplot as pltimport matplotlib%matplotlib inline#配置中文字体和修改字体大小matplotlib.rcParams['font....原创 2018-08-26 22:38:48 · 1487 阅读 · 0 评论 -
Pandas最好用的函数——Apply
Pandas是Python语言中非常好用的一种数据结构包,包含了许多有用的数据操作方法。而且很多算法相关的库函数的输入数据结构都要求是pandas数据,或者有该数据的接口。仔细看pandas的API说明文档,就会发现有好多有用的函数,比如非常常用的文件的读写函数就包括如下函数: Format Type Data Description Re...转载 2018-08-19 18:07:29 · 1405 阅读 · 0 评论 -
Pandas一列分成两列
文章目录分割成一个包含两个元素列表的列分割成两列,每列包含列表的相应元素分割成一个包含两个元素列表的列对于一个已知分隔符的简单分割(例如,用破折号分割或用空格分割) .str.split()方法就足够了 。 它在字符串的列(系列)上运行,并返回列表(系列)。>>> import pandas as pd>>> df = pd.DataFrame({'AB...转载 2018-10-07 15:32:06 · 23886 阅读 · 5 评论 -
Pandas DataFrame、Series的排序
库导入from pandas import DataFrame, Seriesimport numpy as npSeries按索引排序##### Series按索引排序 sort_index方法 返回新对象obj = Series([1, 3, 2, 5, 6], index=list('dabce'))obj.sort_index()obj.sort_index(asce...转载 2018-10-08 11:12:40 · 201 阅读 · 0 评论 -
Pandas DataFrame添加一行
这里采用append()函数。添加一行>>> res = pd.DataFrame(columns=('lib', 'qty1', 'qty2'))>>> res = res.append([{'qty1':10.0}], ignore_index=True)>>> print(res.head()) lib qty1 qt...转载 2018-10-09 20:31:24 · 200815 阅读 · 1 评论 -
Pandas 合并多个Dataframe(merge,concat)
pd.merge()在数据处理的时候经常会遇到多个表单的合并问题,比如一个表单有user_id和age这两个字段,另一个表单有user_id和sex这两个字段,要把这两个表合并成只有user_id、age、sex三个字段的表。普通的拼接是做不到的,因为user_id每一行之间不是对应的。pandas中有个merge函数可以做到这个实用的功能。df = pd.merge(df1, df2, h...转载 2018-10-09 15:19:14 · 9280 阅读 · 0 评论 -
pyecharts pip安装后出现“No module named 'jupyter echarts pypkg'”错误
问题说明在最开始import pyecharts时就报出了ModuleNotFoundError: No module named 'jupyter echarts pypkg'这个错误,其中jupyter echarts pypkg库包含包含所有图表组件。后面使用pyecharts保存得到的html文件是空白的。解决方法先卸载pip uninstall jupyter-echarts...原创 2018-10-09 13:02:37 · 5093 阅读 · 1 评论 -
Matplotlib解决使用 plt.savefig 保存图片时一片空白
问题当使用如下代码保存使用plt.savefig保存生成的图片时,结果打开生成的图片却是一片空白。import matplotlib.pyplot as plt""" 一些画图代码 """plt.show()plt.savefig("filename.png")原因其实产生这个现象的原因很简单:在 plt.show() 后调用了 plt.savefig() ,在 plt.show...转载 2018-10-15 19:22:06 · 4005 阅读 · 0 评论 -
Pandas设置数字格式,小数位数、百分号、千位分隔符
在我们制作各种报表快要结束的时候都需要对数字格式进行设置,增加报表的可读性。>>> df_grouped weekday comment view0 0.0 12.621010 2682.9438381 1.0 10.967018 2062.4832892 2.0 10.963464 3131.9652683 3.0 9.035825 2402.8938524 4....转载 2018-10-08 22:22:08 · 22383 阅读 · 0 评论 -
pyecharts地理坐标系 出现显示不全或只显示南海诸岛问题
from pyecharts import Geo, Map province_distribution = {'河南': 45, '北京': 97, '河北': 21, '辽宁': 12, '江西': 6, '上海': 20, '安徽': 10, '江苏': 16, '湖南': 9, '浙江': 13, '海南': 2, '广东': 22, '湖北': 8, '黑龙江': 11, '澳门':...转载 2018-10-08 20:59:49 · 1091 阅读 · 0 评论 -
Pandas Series转换为DataFrame
说明虽然Series有一个to_frame()方法,但是当Series的index也需要转变为DataFrame的一列时,这个方法转换会有一点问题。所以,下面我采用将Series对象转换为list对象,然后将list对象转换为DataFrame对象。实例这里的month为一个series对象:type(month)pandas.core.series.Series它的index为月份...原创 2018-10-08 13:43:55 · 120325 阅读 · 8 评论 -
Pandas str列内置方法
Pandas的DataFrame有时需要处理一些字符串类型列,运用Series.str列内置方法很方便。1、one hot 独热编码,get_dummiesseries=data['列名'].str.get_dummies(sep=',') 实现DataFrame中列有多值,且想把这列one hot下。2、切分字符串,split()(1)把DataFrame列...转载 2018-08-19 16:27:12 · 5527 阅读 · 0 评论