
pandas
杨健yj
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
pandas回顾
pandas内容,添加了目录原创 2022-06-03 08:37:17 · 585 阅读 · 0 评论 -
利用pandas中的iloc和loc来选取df数据
pandas iloc loc原创 2022-06-02 16:33:50 · 1099 阅读 · 0 评论 -
pandas中max()、sum()等函数小数位数的问题
在pandas中使用sum()函数,发现返回值的小数位数增加了许多,且max()函数也有类似情况。在python3.6.3中运行以下代码:#求a、b两列的和以及最大值。m = [{'a':2.4455, "b":3.4444}, {'a':4.4435, "b":6.42344}, {'a':3.4485, "b":8.4444}]n = DataFrame(m)print(n)#简...原创 2018-02-24 13:56:50 · 5859 阅读 · 2 评论 -
pandas 中的面元cut
函数cutcut函数可以给序列分组,比如把年龄,成绩进行分组,统计不同分组内的人数有多少,等等。 函数结构如下:pandas.cut(x, bins, right=True, labels=None, retbins=False, precision=3, include_lowest=False)x:要分箱的输入数组。它必须是一维的。bin:int或标量序列 如果bins是一...原创 2018-03-12 09:56:52 · 1062 阅读 · 0 评论 -
pandas中的concat, merge, join,笛卡尔积
在pandas中,concat, merge, join的使用方法可以参考以下资料: http://blog.youkuaiyun.com/stevenkwong/article/details/52528616 主要讲下笛卡尔积:import pandas as pdfrom pandas import DataFramedf1=DataFrame({'a':[1,2,3], 'b':[4,...原创 2018-03-12 16:40:18 · 7856 阅读 · 0 评论 -
pandas中字符数据的处理方法:str.extract() 和 Series.str属性
在商业数据表中,经常需要处理字符型的数据,而pandas中的Series.str属性就有几下几十种方法可以处理字符串数据。str.extract()先介绍str.extract(),可用正则从字符数据中抽取匹配的数据,只返回第一个匹配的数据。 注意,正则表达式中必须有分组,只是返回分组中的数据,如果给分组取了名称,则该名称就是返回结果中的字段名。 Series.str.extrac...原创 2018-04-10 15:51:56 · 38744 阅读 · 1 评论 -
在pandas修改DataFrame中的列名
有以下几种方法可以修改:方法一from pandas import DataFrame, Seriesdata = DataFrame({"a":[1, 2, 3, 4], "b":[4, 5, 6, 7]})data.columns = ["c", "d"]#直接在原数据上修改方法二from pandas import DataFrame, Seriesdata =...原创 2018-04-10 18:05:21 · 9897 阅读 · 1 评论 -
pandas 中的insert(), pop()在DataFrame的指定位置中插入某一列
在pandas中,del、drop和pop方法都可以用来删除数据,insert可以在指定位置插入数据。 可以看看以下示例。import pandas as pd from pandas import DataFrame, Seriesdata = DataFrame({'name':['yang', 'jian', 'yj'], 'age':[23, 34, 22], 'gender...原创 2018-04-03 18:22:20 · 45509 阅读 · 1 评论 -
pandas 筛选数据
虽然去年就开始用pandas筛选数据,但有些方法还是容易忘记,工作中写的代码差点出错了,所以把这些内容记下来。其实英文官方文档上的内容非常详细,可以多看看。多条件筛选这里的筛选方法,是根据不同字段的不同条件,对行进行筛选,每个条件得到一个index集合, 求不同index集合的与、或、非和差集等运算。 数据如下:import pandas as pdfrom pandas ...原创 2018-04-25 10:14:54 · 5942 阅读 · 0 评论 -
数据透视表pivot_table,和crosstab()
很少使用数据透视表,在pandas中一般用groupby来处理问题,其实有些情况下使用pivot_table()来处理问题会更加方便。 先看看pandas的官方的文档:pandas.pivot_table 另外,这篇文章讲得更详细。...原创 2018-05-21 16:42:37 · 1538 阅读 · 0 评论 -
pandas 提高效率,降低内存的方法
将数值型列降级到更高效的类型我们可以用函数pd.to_numeric()来对数值型进行向下类型转换。我们用DataFrame.select_dtypes来只选择整型列,然后我们优化这种类型,并比较内存使用量。 先找到要转化的类型,可用以下语句:DataFrame.select_dtypes(include=None, exclude=None)#include, exclude : s...原创 2018-03-09 11:14:09 · 4142 阅读 · 0 评论 -
Pandas 中map, applymap and apply的区别
Pandas 中map, applymap and apply的区别转载 2018-03-07 17:53:00 · 531 阅读 · 0 评论 -
时间问题
time模块的时间字符串的转换主要用到time模块的strptime()、mktime()、gmtime()、strftime()。例:求一个月前的时间点如: ‘2018-02-27’的一个月前的时间点为:‘2018-01-28’。import timea = time.strptime('2018-02-27', "%Y-%m-%d")#转换成时间数组print(t...原创 2018-02-27 16:04:18 · 839 阅读 · 0 评论 -
在pandas中,使用frame.drop_duplicates(['state'])去掉多属性数据中重复行
python中的pandas模块中对重复数据去重步骤:1)利用DataFrame中的duplicated方法返回一个布尔型的Series,显示各行是否有重复行,没有重复行显示为FALSE,有重复行显示为TRUE;2)再利用DataFrame中的drop_duplicates方法用于返回一个移除了重复行的DataFrame。注释:如果duplicated方转载 2017-11-09 15:18:03 · 4613 阅读 · 0 评论 -
python列表推导式和lambda表达式
列表推导式简单明了,但要注意if条件的位置。#if写在前面c = [i if i%2==0 else 1 for i in a] //遍历a的每个元素,如果i为偶数直接返回,否则直接返回1。此处if写在for前面要求必须有else项>>> a = [1,2,3]>>> c = [i if i%2==0 else 1 for i in a]>&...原创 2018-01-24 16:39:58 · 6943 阅读 · 0 评论 -
pandas 时区,时间序列,时间差等问题
一般从客户那读取的时间是北京时间,而time模块中转换成时间戳时(距1970/01/01 00:00:00),使用的是UTC格林尼治时间,注意转换。要注意DST夏令时。 另外在pnadas中的两个Timestamp对象可以直接相减,例如相减后的结果为t,则t.days表示天数(int格式)...原创 2018-01-09 18:15:23 · 4800 阅读 · 0 评论 -
pandas生成的csv文件无法被excel打开,可以这样处理
data = pd.read_csv(path+file+'.csv',sep=',',encoding='utf-8')data.to_csv(path+file+'_analysis.csv', encoding="gbk", sep=',')读取时用的是'utf-8',生成csv用的是'gbk'格式,分隔符要用逗号。这样生成的csv文件就可以用excel打开。原创 2017-12-25 16:31:35 · 3943 阅读 · 0 评论 -
在pandas中, DataFrame的 ix(loc, iloc)属性的设置误区,以及reindex可以找到两个df不同之处
1.ix[ ]如果想用.ix选取df中某一行某一列的值时,返回的结果是什么?data = DataFrame([{'t':'2018-01-08 14:12:26', 'name':'yang'},{'t':'2017-01-08 14:12:26', 'name':'jian'}, {'t':'2014-01-08 14:12:26', 'name':'yj'}])print(data)d...原创 2018-01-09 11:20:55 · 3715 阅读 · 0 评论 -
python 处理excel文件、txt文件
处理excel文件的python库有很多,如xlsxwriter、xlrd、openpyxl等。由于经常用pandas处理数据,而且pandas读写excel更方便,所以主要讲pandas是如何操作excel的。也介绍了如何分别使用用xlsxwriter和openpyxl向excel中插入图片,如何在不覆盖原excel的基础上追加新的内容。1 生成excel文件建立工作簿 =>...原创 2018-01-26 11:16:58 · 4423 阅读 · 0 评论 -
字符串与字典、列表的转换
eval函数将字符串str当成有效的表达式来求值并返回计算结果。demo = "{'a': 2, 'b': 4}"demo_dict = eval(demo)print(type(demo_dict), demo_dict)##结果:<class 'dict'> {'a': 2, 'b': 4}...原创 2018-02-26 16:43:05 · 1112 阅读 · 0 评论 -
pandas层次化索引以及stack()t和unstack()
层次化索引层次化索引,就是对索引进行层次化分类,便于使用,这里的索引可以是行索引,也可以是列索引。 先看例子:#以下代码会报错, 因为data本身是一个DataFrame,要先转化成数组。a = {"a":3, "b":4, "c":5}data = [a, a]print(pd.DataFrame(data, columns=[['m','m','n'],['b', 'c',...原创 2018-02-10 16:41:23 · 3393 阅读 · 0 评论 -
Python基于pandas的数据处理
https://www.cnblogs.com/big-face/p/5418416.htmlPython基于pandas的数据处理(一)1 import pandas as pd, numpy as np2 dates = pd.date_range('20130101', periods=6)3 df = pd.DataFrame(np.random.randn(6,4转载 2017-11-09 11:30:08 · 676 阅读 · 0 评论