加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

pandas—总结(3)数据处理

发布时间:2020-12-14 03:18:42 所属栏目:大数据 来源:网络整理
导读:import numpy as npimport pandas as pdframel = pd.DataFrame( {‘id‘:[‘ball‘,‘pencil‘,‘pen‘,‘mug‘,‘ashtray‘],‘price‘: [12.33,11.44,33.21,13.23,33.62]})frame2 = pd.DataFrame( {‘id‘:[‘pencil‘,‘ball‘,‘pen‘],‘color‘: [‘wh
import numpy as np
import pandas as pd

framel = pd.DataFrame( {‘id‘:[‘ball‘,‘pencil‘,‘pen‘,‘mug‘,‘ashtray‘],‘price‘: [12.33,11.44,33.21,13.23,33.62]})

frame2 = pd.DataFrame( {‘id‘:[‘pencil‘,‘ball‘,‘pen‘],‘color‘: [‘white‘,‘red‘,‘black‘]})

pd.merge(frame1,frame2,on=‘id‘)                                   # 按照指定基准列合并两个df,默认内连接
frame2.columns = [‘brand‘,‘sid‘]                                    # 更换columns名称
pd.merge(framel,left_on=‘id‘,right_on=‘sid‘)                 # 合并df,左右连接
pd.merge(framel,on=‘id‘,how=‘outer‘)                            # 合并df,外连接
pd.merge(framel,干 rame2,on=[‘id1,1 brand1],how=‘outer ’)              # 合并多列

pcLmerge( 干 ramel,right_index=True,left 一 index=True)         # 按照index进行合并
 frame3.join(frame4)                                                # 按照index合并,df不能有相同的columns

np.concatenate([arrayl,array2],axis=0)                # 增加行的方式合并数组
np.concatenate([arrayl,axis=1)                # 增加列的方式合并数组

pd.concat([sen,ser 2 ],axis=0)                                 # 增加行的方式合并Series或df
pd.concat([sen,axis=1)                                 # 增加列的方式合并Series或df

pd.concat([sen,ser3],axis=1,join=‘ inner‘)                 # 按内连接方式合并
pd.concat([serl,ser2],keys=[1,2])                          # 在拼接的轴上创建等级索引

ser1.combine_first(ser2)                                    # 组合Series或df,重合index则保留ser1
serl[  : 3] .combine_first(ser2[  : 3])                  # 合并部分行


# 轴向旋转
framel = pd.DataFrame(np.arange(9).reshape(3,3),index=[‘white‘,‘black‘,‘red‘],columns=[‘ball‘,‘pen’,‘pencil‘])
frame1.stack()                                                                   # df 转为多级索引的Series
ser.unstack()                                                                    # 多级索引的Series转为df
frame.unstack(0)                                                                 # 转置
wideframe = longframe. pivot (1 color‘,‘ item‘)                                  # 长格式转为宽格式

frame.duplicated()                                                           # 某一行在之前无相同行,返回True,否则返回False。
frame[frame.duplicated()]                                                    # 删除多余的重复行

# 映射的运用
frame.replace(newdict)                                                             # 利用映射替换元素
ser.replace(np.nan,0)                                                             # 值替换
frame[‘price‘] = frame["item"].map(price)                                    # 利用映射增加列,其中item和price分别为dict的key和value
frame.rename(index=dict1,columns=dict2)                                           # 利用映射重命名index,其中dict的key和value分别为df的旧、新index、columns
 千 rame.rename(index={1:’first"},columns={‘’item‘:‘object‘})                # 重命名部分index和columns


# 离散化和面元划分
cat=pd.cut(arr1,bins,labels=bin_names)                                          # 对数据分组,bins为分组的结点。bin_names为各区间的名称。
cat.levels                                                                        # 查看不同内部类别的名称
cat.labels                                                                        # 查看各元素所属区间的编号
pd.value_counts(cat)                                                              # 查看每个区间的元素个数

pd.cut(results,5)                                                     # 将数据分为5个区间,区间长度相等
pd.qcut(results,5)                                                    # 将数据分为5个区间,区间包含元素个数相等













                   

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读