pandas数据分析常用

1. concat合并数据

  • API: pd.concat(objs, axis=0, join='outer', join_axes=None, ignore_index=False, keys=None, leves=None, names=None, verify_integrity=False, copy=True)
  • 参数解释
    • objs: [Series, DataFrame, Panel, ..] 需要合并的DataFrame列表
    • axis: {0, 1} 合并的轴, 列合并: axis=1, 行合并: axis=0 
    • join: {'inner', 'outer'} outer为联合, inner为交集
  • 使用
    • 横向合并(列合并): pd.concat([df1, df2, ...], axis=1)
    • 纵向合并(添加行): pd.concat([df1, df2, ...], axis=0)

2. 切片

  • API: df.iloc , 按照位置顺序获取
    • pd.iloc[行开始位置: 行结束位置, 列开始位置: 列结束位置]
  • API: df.loc , 按照名称获取
    • pd.loc[行开始名称: 行结束名称, 列开始名称: 列结束名称]  

3.日期相关特征

  • 将数值型数据转换成日期格式: data['data_parsed'] = pd.to_datetime(data['date'], format='%Y%m%d')
  • 将日期格式转换成数值型: dt.strftime('%y-%m-%d') #%Y是4位年,%y是2位年
  • 获取日期格式的属性
    • 获取年份: dt.year
    • 获取月份: dt.mouth
    • 获取日: dt.day
    • 获取小时: dt.hour
    • 获取星期名称: data['daynameofweek'] = data['data_parsed'].dt.weekday_name

4. 热编码: get_dummies

  • API : pd.get_dummies(data, prefix, columns)

5. 查看某一列去重后的值

  • API: data.column.unique()

6. 查看是否有缺失值和无穷值

  • 查看缺失值: all_dummy_df.isnull().sum().sort_values(ascending=False).head()
  • 查看缺失率

    total = df_train.isnull().sum().sort_values(ascending=False)
   percent = (df_train.isnull().sum()/df_train.isnull().count()).sort_values(ascending=False)
   missing_data = pd.concat([total, percent], axis=1, keys=['Total', 'Percent'])
   missing_data.head(20)
  • 查看无穷值: np.isinf(data['column']).any()
  • 替换缺失值和无穷值
    • data.replace(np.inf, 0, inplace=True) 
    • data.replace(np.nan, 0, inplace=True)

7. pandas不省略显示行和列

  • 不省略显示行: pd.set_option('display.max_rows', None)
  • 不省略显示列: pd.set_option('display.max_columns', None)  

猜你喜欢

转载自www.cnblogs.com/scy645670291/p/12018119.html