pandas高级数据处理

1.缺失值处理

        1.缺失值是NaN类型

                1.判断是否存在np.nan缺失值

                        1.pd.isnull(df).any()

                        2.pd.notnull(df).all()

                2.做删除处理 df.dropna()

                3.替换sr.fillna(value,inplace)

        2.缺失值是其他默认符号

                1.替换df.replace(to_replace="默认符号(?....)", value=np.nan)

                2.按照缺失值处理

2.数据离散化

                1.分组

                        1.自动分组 pd.qcut(data,bins)

                        2.自定义分组 pd.cut(data, bins)

                2.装换

                        pd.get_dummies(分好组的数据,predix=)                 

  • data 是包含分类变量的 DataFrame 或 Series;
  • prefix 是指定前缀的字符串,可选参数,用于给生成的哑变量列添加前缀。

3.合并

                1.按方向合并

                        pd.concat((a,b), axis=)

                2.按索引合并

                        pd.merge(left,right,how='inner', on=[索引])

  • left 和 right 是要合并的两个 DataFrame;
  • how 是指定合并方式的参数,默认为 'inner'。可选的合并方式有:'inner'、'outer'、'left' 和 'right';
  • on 是指定用于合并的键的名称,可以是一个列名或多个列名的列表。如果不指定,默认会根据两个 DataFrame 中的重叠列进行合并。
  • a,b是要连接的对象,可以是一个包含了多个 DataFrame 或 Series 的元组、列表或字典;
  • axis 是指定连接轴的参数,当 axis=0 时表示按行连接,生成一个更大的 DataFrame;当 axis=1 时表示按列连接,生成一个更宽的 DataFrame。

4.交叉表与透视表

                1. 交叉表 pd.crosstab(value1,value2)

pd.crosstab() 函数用于创建交叉表(cross-tabulation),也称为列联表。它可以统计两个或多个变量之间的频数或频率,并以表格形式展示。

函数的语法如下:

pd.crosstab(index, columns, values=None, rownames=None, colnames=None, aggfunc=None)

其中:

  • index 是要在行方向上进行分组的变量;
  • columns 是要在列方向上进行分组的变量;
  • values 是可选的,用于指定要聚合的数据列;
  • rownames 和 colnames 是可选的,用于指定行和列的名称;
  • aggfunc 是可选的,用于定义对聚合值进行计算的函数,默认为计数。

                2.透视表 df.pivot_table([字段],index=)

df.pivot_table(values, index, columns, aggfunc='mean', fill_value=None)

其中:

  • values 是要进行聚合的字段或字段列表;
  • index 是用作新表格的索引的字段;
  • columns 是用作新表格列的字段;
  • aggfunc 是指定聚合函数的参数,默认为 'mean';
  • fill_value 是可选的,用于指定替换缺失值的值。

5.分组与聚合

                1.dataframe.groupby(by=).聚合函数()

dataframe.groupby(by=grouping_columns).aggregation_function()

其中:

  • by 是用于指定分组依据的字段或字段列表;
  • aggregation_function 是要应用的聚合函数,比如 sum()mean()count() 等。

                2.sr.groupby(sr).聚合函数()       

      

sr.groupby(grouping_series).aggregation_function()

其中:

  • grouping_series 是用于指定分组依据的 Series 或与原 Series 索引相同的 Series;
  • aggregation_function 是要应用的聚合函数,比如 sum()mean()count() 等。

6.删除指定列当中的指定的值

movie.drop(movie[movie['指定的列'] == '指定值'].index,axis=1)
  • movie[movie['指定列'] == '指定值'] 这部分会选择出指定列中值为指定值的行。
  • .index 会返回这些被选择行的索引。
  • movie.drop(..., axis=1) 表示在数据框中删除指定的列。在这里,.drop 函数将会通过指定的索引删除对应的行。

  • 19
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值