pandas、numpy
pandas、numpy等数据处理工具
少奶奶的猪
python开发,web开发,odoo开发,前端开发,数据库,机器学习
展开
-
Numpy详细教程
NumPy - 简介NumPy 是一个 Python 包。 它代表 “Numeric Python”。 它是一个由多维数组对象和用于处理数组的例程集合组成的库。Numeric,即 NumPy 的前身,是由 Jim Hugunin 开发的。 也开发了另一个包 Numarray ,它拥有一些额外的功能。 2005年,Travis Oliphant 通过将 Numarray 的功能集成到 Numeric 包中来创建 NumPy 包。 这个开源项目有很多贡献者。NumPy 操作使用NumPy,开发人员可以执转载 2020-05-13 10:04:55 · 851 阅读 · 0 评论 -
pandas数据合并与重塑(concat)
1 concatconcat函数是在pandas底下的方法,可以将数据根据不同的轴作简单的融合pd.concat(objs, axis=0, join='outer', join_axes=None, ignore_index=False, keys=None, levels=None, names=None, verify_integrity=False)参数说明objs: series,dataframe或者是panel构成的序列lsitaxis: 需要合并链接的轴,0是转载 2020-05-25 16:26:00 · 692 阅读 · 0 评论 -
pandas DataFrame 交集并集补集
1.场景,对于colums都相同的dataframe做过滤的时候例如:df1 = DataFrame([['a', 10, '男'], ['b', 11, '男'], ['c', 11, '女'], ['a', 10, '女'], ['c', 11, '...原创 2020-03-18 16:05:43 · 2067 阅读 · 0 评论 -
pandas筛选出表中满足另一个表所有条件的数据
今天记录一下pandas筛选出一个表中满足另一个表中所有条件的数据。例如:list1 结构:名字,ID,颜色,数量,类型。list1 = [['a',1,255,100,'03'],['a',2,481,50,'06'],['a',47,255,500,'03'],['b',3,1,50,'11']]list2结构:名字,类型,颜色。list2 = [['a','03',255],[...原创 2020-03-18 16:01:53 · 4372 阅读 · 0 评论 -
pandas将小数转换为百分数
#-*- coding: utf-8 -*- import pandas as pd inputfile = '../data/electricity_data.xls'outputfile = './electricity_data_analyze1.xls' data = pd.read_excel(inputfile)data[u'线损率'] = (data[u'供入电量']...原创 2020-03-18 15:58:03 · 9165 阅读 · 0 评论 -
pandas多个条件分割字符串,快速提取文件特定行
import reline = 'asdf fjdk; afed, fjek,asdf, foo'# \s 匹配任意空白符,正则意思:分隔符可以是逗号,分号或者是空格,并且后面紧跟着任意个的空格print(re.split(r"[;,\s]\s*",line)) # ['asdf', 'fjdk', 'afed', 'fjek', 'asdf', 'foo']# 如果使用了捕获分组,那...原创 2020-03-18 15:54:19 · 2154 阅读 · 0 评论 -
pandas把行/列内容以符号分隔连成字符串
将一列或者一行的内容提取出来变成以特定符号分隔的字符串genename = ','.join(match_row.iloc[:,3].values)genename = '|'.join(df_geneName[0].values)原创 2020-03-18 15:51:29 · 2299 阅读 · 0 评论 -
pandas常用函数详解
1 import语句import pandas as pdimport numpy as npimport matplotlib.pyplot as pltimport datetimeimport re2 文件读取df = pd.read_csv(path='file.csv')参数: header=None 用默认列名,0,1,2,3... names=['A', 'B'...原创 2020-03-18 15:46:13 · 808 阅读 · 1 评论 -
pandas多个列的组合条件筛选数据
A文件:比如,我想筛选出“设计井别”、“投产井别”、“目前井别”三列数据都为11的数据,结果如下:当然,这里的筛选条件可以根据用户需要自由调整,代码如下:# -*- coding: utf-8 -*-import pandas as pd #input.csv是那个大文件,有很多很多行df1 = pd.read_csv(u'input.csv', encoding='gbk')...转载 2020-03-18 15:11:09 · 5235 阅读 · 0 评论 -
pandas的替换和部分替换(replace)
在处理数据的时候,很多时候会遇到批量替换的情况,如果一个一个去修改效率过低,也容易出错。replace()是很好的方法。源数据:1、替换全部或者某一行replace的基本结构是:df.replace(to_replace, value) 前面是需要替换的值,后面是替换后的值。例如我们要将南岸改为城区:这样Python就会搜索整个DataFrame并将文档中所有的南岸替换成了城区(要注...转载 2020-03-18 14:58:16 · 32908 阅读 · 1 评论 -
pandas字符串操作
字符串对象方法split()方法拆分字符串:strip()方法去掉空白符和换行符:split()结合strip()使用:"+"符号可以将多个字符串连接起来:join()方法也是连接字符串,比较它和"+"符号的区别:in关键字判断一个字符串是否包含在另一个字符串中:index()方法和find()方法判断一个子字符串的位置:index()方法和find()方法的区别是:...转载 2020-03-18 14:49:28 · 2099 阅读 · 0 评论 -
pandas 去掉/保留重复行
应用场景:假如我们有如下的一个数据集,6行4列。此时,我们3个想法。第一个想法:把所有重复的行去掉第二个想法:只保留第一次出现的重复行第三个想法:保留最后一次出现的重复行这三个想法都可以用pandas中自带一个方法实现。 DataFrame.drop_duplicates()具体实现如下:import pandas as pd newdata=pd.DataFrame([[1,...原创 2020-03-18 14:44:17 · 8716 阅读 · 0 评论 -
Pandas多表操作
Pandas包对多个数据表(DataFrame)的常用整合功能。mergejoinconcatappendcombin_firstmerge 合并pandas.merge可根据一个或多个键将不同DataFrame中的行合并起来# 在未指定连接键的情况下,merge会将重叠列的列名当做键pd.merge(left, right)# 指定“on”作为连接键,left和right...原创 2020-03-18 11:45:59 · 491 阅读 · 0 评论 -
pandas提取某字段最大值所对应的行
我们处理某些表格数据时,会遇到某个字段在不同类别中有不同的值,有时候需要提取某个类别中该字段最大值所对应的行,只用group by 往往不行。其实,使用group by 和 merge 相结合,即可轻松解决这个问题。定义一个DataFrame:在上图的df中,不同的name对应着num值、年份,现在想提取每一year的最大num所对应的name。2、接下来,对df进行group by,并...转载 2020-03-18 11:41:35 · 14896 阅读 · 2 评论 -
pandas将列数据转换为array类型
# -*-coding: utf-8 -*-import pandas as pd#读取csv文件df=pd.read_csv('A_2+20+DoW+VC.csv')#求‘ave_time’的平均值aveTime=df['ave_time'].mean()#把ave_time这列的缺失值进进行填充,填充的方法是按这一列的平均值进行填充df2=df.fillna(aveTime...原创 2020-03-18 11:37:52 · 6421 阅读 · 0 评论 -
pandas文件保存操作
1、使用DataFrame的to_csv函数保存文件在使用DataFrame的to_csv保存文件的时候,会默认使用逗号作为分隔符,如果没有设置行列索引,也没有禁用行列索引保存的话,保存文件的时候,会默认加上由0开始的行列索引。data = pd.DataFrame(np.arange(9).reshape(3, 3))data.to_csv("data.csv")data.csv,0...原创 2020-03-18 11:32:02 · 9498 阅读 · 0 评论 -
pandas 从文本中提取数字(正则表达式)
需要从text特征中提取形如 13.5/10 这样的字符串,再分别提取分子分母。1)可以利用 str.extract() 方法。2)利用正则表达式 \d+.?\d*/\d+ 进行匹配3)再利用 .split() 方法提取分子分母代码:test.text.tolist()output[‘This is Bella. She hopes her smile made you smile....转载 2020-03-18 11:20:52 · 9094 阅读 · 0 评论 -
pandas行、列的删除和增加
创建df:>>> df = pd.DataFrame(np.arange(16).reshape(4, 4), columns=list('ABCD'), index=list('1234'))>>> df A B C D1 0 1 2 32 4 5 6 73 8 9 10 114 1...原创 2020-03-18 11:15:15 · 1177 阅读 · 0 评论 -
pandas合并数据集(merge使用)
merge 函数参数merge: 合并数据集, 通过left, right确定连接字段,默认是两个数据集相同的字段参数 说明left #参与合并的左侧DataFrameright #参与合并的右侧DataFramehow #连接方式:‘inner’(默认);还有,‘outer’、‘left’、‘right’on #用于连接的列名,必须同时存在于左右两个DataFrame对象中,如果位指...原创 2020-03-18 11:04:58 · 691 阅读 · 0 评论 -
数据筛选isin和str.contains函数
筛选是在平时的工作中使用非常频繁的功能,前文介绍了loc和iloc的筛选方法,现在继续介绍一些筛选的方法DataFrame列表:以>,<,,>=,<=来进行选择(“等于”一定是用‘’,如果用‘=’就不是判断大小了)选择quantity>25的所有行:使用 &(且) 和 |(或) 时每个条件都要用小括号括起来。选择数量大于20或单价大于100的所有...原创 2020-03-18 10:55:26 · 3544 阅读 · 0 评论