栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

Python知识点大纲

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Python知识点大纲

这里写自定义目录标题
  • Pandas
    • 基础
      • 数据类型
      • 透视表功能
        • df.groupby
        • pd.pivot_table 更像透视表
        • pd.pivot: reshape data
      • combining data
    • 高阶用法
      • missing data
      • duplicate data
  • Numpy

Pandas 基础 数据类型
  • df.dtypes 查看字段数据类型
  • df[‘a’].astype(‘float’) 数据类型转化
透视表功能 df.groupby

(by=None, axis=0, level=None, as_index=True, sort=True, group_keys=True, squeeze=NoDefault.no_default, observed=False, dropna=True)
@level: 当df是多维度索引时,可以用level参数进行第i层索引聚合

- 常规用法:df.groupby(['col1','col2']).mean()  # sum(),count()

- 不同字段实现不通聚合-基础 # 结果是二级索引
f = {'ado':['sum'], 'seller':['count']}
df.groupby('country').agg(f) 	 	

- 不同字段实现不通聚合-改名 
df.groupby('country').agg(
						ado_sum=('ado','sum'),
						seller_cnt=('seller','count'),
						ado_range=('ado',lambda x: x.max()-x.min()
)
pd.pivot_table 更像透视表

pandas.pivot_table(data, values=None, index=None, columns=None, aggfunc='mean', fill_value=None, margins=False, dropna=True, margins_name='All', observed=False, sort=True)
<==>df.pivot_table(values, index...)

# 基础:
table = pd.pivot_table(df, values='D', index=['A', 'B'],
                    	columns=['C'], aggfunc=np.sum, fill_value=0)

# 进阶:
table = pd.pivot_table(df, values=['D', 'E'], index=['A', 'C'],
                    	aggfunc={'D': np.mean,
                             	 'E': [min, max, np.mean]})

pd.pivot: reshape data

pandas.pivot(data, index=None, columns=None, values=None)
没有聚合函数,仅是row转column,不能有重复的行列

combining data
  • pd.merge(df1, df2, how, on) <==> df1.merge(df2, how, on)

pd.merge(right, how=‘inner’, on=None, left_on=None, right_on=None, left_index=False, right_index=False, sort=False, suffixes=(‘_x’, ‘_y’), copy=True, indicator=False, validate=None)

默认重叠列拼接
@how: {‘left’, ‘right’, ‘outer’, ‘inner’, ‘cross’}, default ‘inner’
@on/left_on/right_on:join的key
@suffixes: 相同字段的后缀

  • df1.join(df2, on=None, how='left', lsuffix='', rsuffix='', sort=False 功能与merge类似

默认行索引拼接,重叠列拼接(没啥区别?)
@how: {‘left’, ‘right’, ‘outer’, ‘inner’}, default ‘left’

  • pd.concat()
    用于多个df行方向/列方向的拼接
    pandas.concat(objs, axis=0, join=‘outer’, ignore_index=False, keys=None, levels=None, names=None, verify_integrity=False, sort=False, copy=True)

@objs:[df1,df2,…]
@axis:=1时,会根据索引进行拼接
@ignore_index:True, 会重新索引
@key:指定索引名字
@name:指定拼接后的列名
特殊应用:pd.concat([pd.DataFrame([i], columns=['A']) for i in range(5)], ignore_index=True)

  • df.append()
    用户行方向的拼接
高阶用法 missing data
  • df.dropna()

@axis: {0 or ‘index’, 1 or ‘columns’}, default 0
@how: {‘any’, ‘all’}, default ‘any’
@thresh: int, optional(至少几个非空保留)
@subset: index / columns (哪几列/行判断是否NA)
@replace: bool, default False

  • df.fillna()
  • df.isnull()
  • df.notna()
duplicate data
  • s3.unique() #Return unique values,series去重,df不行
  • df.duplicated(subset=None, keep='first') # check duplicates

@subset: index / columns (哪几列/行判断是否重复)
@keep: {‘first’, ‘last’, False} (保留前值还是后值)
@return: T/F
first表示第二次出现为重复值(标记为T);last表示前面出现为重复值(标记为T);false表示每个都为重复值

  • df.drop_duplicates(subset=None, keep='first', inplace=False, ignore_index=False) # drop duplicates

@ignore_index: 重新索引

Numpy
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/840262.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号