美文网首页
Python 随手记

Python 随手记

作者: 新星_点灯 | 来源:发表于2017-02-08 09:41 被阅读0次

随手记

  • 注意点
    • &、| 是位运算,and、or是逻辑运算
      • and\or 短路计算
        1.在计算 a and b 时,如果 a 是 False,则根据与运算法则,整个结果必定为 False,因此返回 a;如果 a 是 True,则整个计算结果必定取决与 b,因此返回 b。
        1. 在计算 a or b 时,如果 a 是 True,则根据或运算法则,整个计算结果必定为 True,因此返回 a;如果 a 是 False,则整个计算结果必定取决于 b,因此返回 b。
    • is 判断是否是否一个对象,== 比较值是否相等
      • 若果 a is b 为真,则 a == b 亦为真
    • return 只能用在function里
    • 读取excel中文乱码,由于excel一般是gbk编码无utf-8,pd.read_csv读取时设置参数enconding='gbk'
    • 字符串前加 r 可以防止转义
    • 中文字符前加u代表以unicode格式存储
    • 删除变量:del
    • 数据读取 encoding成 'utf_8_sig'
    • 索引、视图、副本

内置

  • List

    • list相加相当于合并list (list.extend())
    > [] + [1] + [2,3]   
      [1,2,3,4]
    
  • String

  • s.join() # 字符联接

  • yield

    • 迭代器(list,string,tuple),可迭代
    • 生成器自动实现了迭代器协议,是可迭代的对象。生成器可以一边计算一边生成,节省了内存。
    • 带有 yield 的函数就是一个生成器函数,它不会执行任何函数代码,直到对其调用 next()(在 for 循环中会自动调用 next())才开始执行。每执行到一个 yield 语句就会中断,并返回一个迭代值,下次执行时从 yield 的下一个语句继续执行
  • map(func, seq1[, seq2...])

    • 将func作用于seq的每一个元素中,并以列表形式返回。
    • func为None时相当与zip()
  • reduce(func, seq[, int])

    • reduce每次迭代将上一次的迭代(第一次为int, 若无int则取seq第一个元素)结果与下一个元素传入func中。
    • e.g. 阶乘计算 reduce(lambda: x * y, range(1, n+1))

Ipython

ctrl /       -- 注释
  • Magic Commands
%time 计算耗时

Pandas

  • 空值处理
df.isnull().any()    是否存在空值
df.isnull().sum()    统计空值个数
df.fillna(value)    空值填充  
    # value : scalar, dict, Series, or DataFrame
    # e.g. df.fillna(df.mean())
  • 数据探查
df.info()    基本信息
df.describe()    基本统计信息
df.get_dtype_counts()    统计数据类型
df.select_dtype(include=['O', 'int64'])    选取特定类型数据, include/exclude 的值为list
df.select_dtypes(include = ['O']).apply(lambda x: len(x.unique()))    变量不同值的个数
apply(pd.Series.nunique())    变量不同值个数    len(unique())  #faster 
pd.Series.value_counts()
pd.Series.pct_change()    # 环比
  • 数据合并
pd.concat()    # 按指定 axis 合并,axis=1代表列合并
pd.merge()    # 按列索引合并(SQL)
pd.join()    # 多用于 行index
  • 数据处理
pd.replace()    值替换 # 可事先构造mapping_dict = {'F1':{'A':0, 'B':1}, 'F2':{1:9, 2:8}}
pd.Series.map({})
df.drop_duplicates(subset=)    去除重复值
pd.pivot_table()    数据框重塑
pd.groupby().fun().unstack()
pd.rest_index()
  • 可视化
df.hist()    绘制柱状图
df.plot.bar(figsize=(,), stacked=True)
df.plot(kind)    # kind: 'line', 'bar', 'barh', 'kde'
fig, (axis1,axis2) = plt.subplots(1,2,figsize=(15,4))    # 多幅图设置图片坐标
  • 日期时间处理
pd.to_datetime(Series/String,  error=)    # 转成日期格式
datetime.weekday();  datetime.weekday_name    # 转成星期
datetime.quarter();    # 季度
datetime.weekofyear();    # 周
pd.Series.dt.weekday  # use .dt to access properties
pd.date_range(start=None, end=None, periods=None, freq='D')

numpy

  • 数值计算
np.log1p()    # Return the natural logarithm of one plus the input array

scipy

  • 数据统计
    scipy.stats.skew() 计算峰度
  • sparse 数据处理
from scipy import sparse
sparse.hstack().tocsr()    # stack sparse matrices horizontally
注: 稀疏矩阵存储: compressed sparse row (CSR),Coordinate(COO)

相关文章

  • 随拍,手记。

  • python列表排序、字典排序、列表中字典排序

    手记 -- encoding=utf-8 -- python3代码 import operator一. 按字典值排...

  • 2018-10-16

    python学习笔记 标签:用廖雪峰老师的python文档学习,顺手记一点 两种除法 (1)一种除法是/: /除法...

  • python手记:入门

    python的下载地址:https:\\www.python.org,环境配置请自己百度。 (1)数据类型分为整数...

  • Python 随手记

    随手记 注意点&、| 是位运算,and、or是逻辑运算and\or 短路计算1.在计算 a and b 时,如果 ...

  • Python 随手记

    1. 拼接路径时,python 用 会根据操作系统的不同拼接出正确的路径。 2. 多行字符串格式化。 例子: 记得...

  • Python基础手记

    Python是一门开箱即用的动态语言,结合搜索引擎和cv大法其威力不可小觑。但很多人(包括我)的Python写的像...

  • 创客关键词-2-Python最

    三、常用开发环境 ●IDLE:Python内置IDE (随python安装包提供) IDLE是python创初人G...

  • 创客关键词-2-Python最新

    三、常用开发环境 ●IDLE:Python内置IDE (随python安装包提供) IDLE是python创初人G...

  • 随拍随想随手记

    花都是香的吗?或许这株花就得了狐臭。 物竞天择竞的也只是异类,而人却是会兄弟阋墙,手足相残的。 孔雀园...

网友评论

      本文标题:Python 随手记

      本文链接:https://www.haomeiwen.com/subject/uylvittx.html