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
函数将会通过指定的索引删除对应的行。