1.单列运算在Pandas中,DataFrame的一列就是一个Series,可以通过map来对一列进行操作:df['col2']=df['col1'].map(lambdax:x**2)其中lambda函数中的x代表当前元素。可以使用另外的函数来代替lambda函数,例如:definesquare(x):return(x**2)df['col2']=df['col1'].map(square)2.多列运算 apply()会将待处理的对象拆分成多个片段,然后对各片段调用传入的函数,最后尝试将各片段组合到一起。要对DataFrame的...
继续阅读 >
分类:dataframe
2020
10-08
10-08
pandas DataFrame运算的实现
1算术运算add(other)比如进行数学运算加上具体的一个数字data['open'].add(1)2018-02-2724.532018-02-2623.802018-02-2323.882018-02-2223.252018-02-1422.49sub(other)2逻辑运算2.1逻辑运算符号例如筛选data[“open”]>23的日期数据data[“open”]>23返回逻辑结果data["open"]>232018-02-27True2018-02-26False2018-02-23False2018-02-22False2018-02-14False#逻辑判断的结果可以作为筛选的依据data[data["o...
继续阅读 >
2020
10-08
10-08
pandas DataFrame运算的实现
1算术运算add(other)比如进行数学运算加上具体的一个数字data['open'].add(1)2018-02-2724.532018-02-2623.802018-02-2323.882018-02-2223.252018-02-1422.49sub(other)2逻辑运算2.1逻辑运算符号例如筛选data[“open”]>23的日期数据data[“open”]>23返回逻辑结果data["open"]>232018-02-27True2018-02-26False2018-02-23False2018-02-22False2018-02-14False#逻辑判断的结果可以作为筛选的依据data[data["o...
继续阅读 >
2020
10-08
10-08
DataFrame 数据合并实现(merge,join,concat)
mergemerge函数通过一个或多个键将数据集的行连接起来。场景:针对同一个主键存在的两张包含不同特征的表,通过主键的链接,将两张表进行合并。合并之后,两张表的行数不增加,列数是两张表的列数之和。defmerge(left,right,how='inner',on=None,left_on=None,right_on=None,left_index=False,right_index=False,sort=False,suffixes=('_x','_y'),copy=True,indicator=False,validate=None):...
继续阅读 >
2020
10-06
10-06
python读取hdfs并返回dataframe教程
不多说,直接上代码fromhdfsimportClientimportpandasaspdHDFSHOST="http://xxx:50070"FILENAME="/tmp/preprocess/part-00000"#hdfs文件路径COLUMNNAMES=[xx']defreadHDFS():'''读取hdfs文件Returns:df:dataframehdfs数据'''client=Client(HDFSHOST)#目前读取hdfs文件采用方式:#1.先从hdfs读取二进制数据流文件#2.将二进制文件另存为.csv#3.使用pandas读取csv文件withclient.read(FILENAME)asfs:c...
继续阅读 >
2020
10-06
10-06
python pymysql链接数据库查询结果转为Dataframe实例
我就废话不多说了,大家还是直接看代码吧!importpymysqlimportpandasaspddefcon_sql(db,sql):#创建连接db=pymysql.connect(host='127.0.0.1',port=3308,user='name',passwd='password',db=db,charset='utf8')#创建游标cursor=db.cursor()cursor.execute(sql)result=cursor.fetchall()#执行结果转化为dataframedf=pd.DataFrame(list(result))#关闭连接db.close()#返回dataframereturndfdb='...
继续阅读 >
2020
09-30
09-30
Python Dataframe常见索引方式详解
创建一个示例数据框:importpandasaspddf=pd.DataFrame([['乔峰','男',95,'降龙十八掌','主角'],['虚竹','男',93,'天上六阳掌','主角'],['段誉','男',92,'六脉神剑','主角'],['王语嫣','女',95,'熟知武诀','主角'],['包不同','男',65,'胡搅蛮缠','配角'],['康敏','女',40,'惑夫妒人','配角']],index=list('abcdef'.upper()),c...
继续阅读 >
2020
09-29
09-29
pandas dataframe 中的explode函数用法详解
在使用pandas进行数据分析的过程中,我们常常会遇到将一行数据展开成多行的需求,多么希望能有一个类似于hivesql中的explode函数。这个函数如下:Code#!/usr/bin/envpython#-*-coding:utf-8-*-#createon18/4/13importpandasaspddefdataframe_explode(dataframe,fieldname):temp_fieldname=fieldname+'_made_tuple_'dataframe[temp_fieldname]=dataframe[fieldname].apply(tuple)list_of_datafram...
继续阅读 >
2020
09-28
09-28
Python通过两个dataframe用for循环求笛卡尔积
合并两个没有共同列的dataframe,相当于按行号求笛卡尔积。最终效果如下以下代码是参考别人的代码修改的:defcartesian_df(A,B):new_df=pd.DataFrame(columns=list(A).extend(list(B)))for_,A_rowinA.iterrows():for_,B_rowinB.iterrows():row=A_row.append(B_row)new_df=new_df.append(row,ignore_index=True)returnnew_df#这个方法,如果两张表列名重复会出错这段代码的思路是...
继续阅读 >
2020
09-27
09-27
设置jupyter中DataFrame的显示限制方式
jupyter中显示的DataFrame过长时会自动换行(print()显示方式)或自动省略(单元格最后一行直接显示),在一些情况下看上去不是很方便,可调节显示参数如下:importpandasaspdpd.set_option('display.width',500)#设置整体宽度pd.set_option('display.height',500)#设置整体高度pd.set_option('display.max_rows',100)#设置最大行数pd.set_option('display.max_columns',100)#设置最大列数补充知识:pandas中关...
继续阅读 >
2020
09-27
09-27
解决python DataFrame 打印结果不换行问题
如下所示:加入代码:pd.set_option('display.width',5000)补充知识:Python实现不换行打印字符的3种简单方法Python2.7中,执行完print后,会自动换行,如下代码会打印:abc\n123\n(其中\n代表换行)print('abc')print('123')如何实现不换行打印字符呢,下面介绍Python2.7中实现不换行打印字符的3种简单方法:1.在print函数后加一个逗号,打印效果如同用空格代替了换行,如下代码会打印:abc?123?(其中?代表空格)print('a...
继续阅读 >
2020
09-24
09-24
python pandas.DataFrame.loc函数使用详解
官方函数DataFrame.locAccessagroupofrowsandcolumnsbylabel(s)orabooleanarray..loc[]isprimarilylabelbased,butmayalsobeusedwithabooleanarray.#可以使用label值,但是也可以使用布尔值Allowedinputsare:#可以接受单个的label,多个label的列表,多个label的切片Asinglelabel,e.g.5or‘a',(notethat5isinterpretedasalabeloftheindex,andneverasanintegerpositional...
继续阅读 >