对数据进行了清洗之后,就可以对数据进行重构了

一、数据合并

 第一种方式,pandas的方法

# concat 拼接两个df
a=pd.concat([df1,df2],axis=0,join='outer',ignore_index=True]  
# axis默认0,垂直方向,增加行;为1,水平方向,增加列
# join指定拼接方式,默认outer取并集;inner取两df的交集
# ignore_index是否重置索引
# 参数join_axes可指定index来对齐数据,会切掉指定的index之外的数据,空缺用NaN填充
# merge 依据一或多个相同的列拼接df,默认取交集。左右拼接 a=pd.merge(df1,df2) # 通过设置参数how='outer',取并集 # 通过设置参数on=‘columnname1',指定依据哪列进行合并

第二种方式 dataframe的方法

# append方法 将对象添加到被调用者的末尾,增加行。对应的column共用,空缺用NaN填充
a=df1.append(df2) 
# 添加多个df时,以列表形式传入。可设置参数ignore_index=True,来重置索引
# 也可传入字典或pd.Series增加行,此时需设置ignore_index=True # join方法 通过索引或列连接两个df a=df1.join(df2)

 

二、df.stack()与df.unstack()

df.stack将列标签作为最内层的索引,df.unstack则反过来

 

三、数据聚合与运算

利用df.groupby与df.agg及各种统计函数进行运算

# df.groupby() 基本用法
df.groupby('columnname1') # 利用某一或某几列对数据进行分组,显示该列每种取值下,其他列数据的情况,返回的是一个groupby对象
df.groupby(col1)[col2]或者df[col2].groupby(col1) # 效果等同
# 搭配函数
df.groupby('columnname1').mean() # 其后直接加聚合函数
df.groupby('columnname1').agg('mean') #以字符的形式传入聚合函数名,也可用字典的形式对不同列进行不同的运算,
df.groupby('columnname1').agg(['mean','min']) # 传入列表,进行多种运算
df.groupby('columnname1').agg({'columnname1':'mean','columnname2':'max'}) # 传入字典,对不同列进行不同运算
df.groupby('columnname1').apply(lambda x:x['columnname2].mean()-x['columnname3'].mean()) # 传入自定义的面向分组的函数
df.groupby('columnname1').transform('mean') # 字符形式传入函数名,返回与原df有相同索引且已填充好计算结果的df

 

 

 

参考链接:

1.pd,concat 介绍 详解pandas数据合并与重塑(pd.concat篇)_python_脚本之家 (jb51.net)

2.df.join 介绍 (1条消息) pandas之DataFrame的连接函数join()介绍_会飞的哼哧的博客-CSDN博客_dataframe join

3.df.append 介绍 pandas 数据追加合并 df.append | pandas 教程 - 盖若 (gairuo.com)

4.df.merge 介绍 【python】详解pandas库的pd.merge函数_brucewong0516的博客-CSDN博客_merge函数

       pandas数据合并之一文弄懂pd.merge() - 知乎 (zhihu.com)

4.df.stack与df.unstack 图解pandas的轴旋转函数:stack和unstack - 知乎 (zhihu.com)

          pandas中DataFrame的stack()、unstack()和pivot()方法的对比 - 傻白甜++ - 博客园 (cnblogs.com)

4.df.groupby DataFrame的groupby - 简书 (jianshu.com)

        Python--DataFrame分组-GroupBy - 逍遥大帝 - 博客园 (cnblogs.com)

        pandas基础——groupby函数_TSzero的博客-CSDN博客_pandas的groupby函数

      Pandas中groupby的这些用法_Ch3nnn的博客-CSDN博客_pandas中groupby函数

posted on 2021-12-15 14:38  宝joM  阅读(152)  评论(0)    收藏  举报