金华网站建设团队,wordpress搬家缩略图都没,市住房和城乡建设局网站大连,深圳网络营销推广服务利用python 进行数据分析#xff08;第三版#xff09;第二章小结
由于是闲暇时间看的#xff0c;且为读书笔记#xff0c;所以只会写一些心得和容易混淆的知识#xff0c;简单知识将不在重复 在变量或者函数后使用?可以查看详细信息。?还有最后一个用途#xff0c;即…利用python 进行数据分析第三版第二章小结
由于是闲暇时间看的且为读书笔记所以只会写一些心得和容易混淆的知识简单知识将不在重复 在变量或者函数后使用?可以查看详细信息。?还有最后一个用途即以类似于标准 Unix 或 Windows 命令行的方式搜索 IPython 命名空间。多个字符与通配符 ( *) 组合将显示与通配符表达式匹配的所有名称。 In [1]: b [1, 2, 3]In [2]: b?
Type: list
String form: [1, 2, 3]
Length: 3
Docstring:
Built-in mutable sequence.#function
In [6]: add_numbers?
Signature: add_numbers(a, b)
Docstring:
Add two numbers together
ReturnsIn [9]: import numpy as npIn [10]: np.*load*?
np.__loader__
np.load
np.loads
np.loadtxt函数可以同时采用位置参数和关键字参数 result f(a, b, c, d5, efoo)在Python中分配变量或名称时使用赋值号不是复制而是直接引用例如 In [8]: a [1, 2, 3]假设我们分配a给一个新变量b In [9]: b aIn [10]: b
Out[10]: [1, 2, 3]在某些语言中赋值 ifb会导致数据[1, 2, 3]被复制。在 Python 中a和b实际上现在引用同一个对象即原始列表[1, 2, 3]。可以通过向 附加一个元素a然后检查来向自己证明这一点b In [11]: a.append(4)In [12]: b
Out[12]: [1, 2, 3, 4]访问对象的属性时可以使用. Tab键也可以使用getattr例如 In [32]: getattr(a, split)
Out[32]: function str.split(sepNone, maxsplit-1)通常我们可能不关心对象的类型而只关心它是否具有某些方法或行为。这有时被称为DUCK类型俗话说“如果它像鸭子一样行走并且像鸭子一样嘎嘎叫那么它就是一只鸭子”。例如如果对象实现了迭代器协议则可以验证该对象是否可迭代。对于许多对象来说这意味着它有一个__iter__“神奇方法”尽管另一种更好的检查方法是尝试使用该iter函数 In [33]: def isiterable(obj):....: try:....: iter(obj)....: return True....: except TypeError: # not iterable....: return False该函数将返回True字符串以及大多数 Python 集合类型 In [34]: isiterable(a string)
Out[34]: TrueIn [35]: isiterable([1, 2, 3])
Out[35]: TrueIn [36]: isiterable(5)
Out[36]: False符串模板或格式化是另一个重要主题。随着 Python 3 的出现实现此目的的方法数量不断增加在这里我将简要描述其中一个主要接口的机制。字符串对象有一个format方法可用于将格式化参数替换为字符串生成一个新字符串 In [79]: template {0:.2f} {1:s} are worth US${2:d}在这个字符串中 {0:.2f}表示将第一个参数格式化为具有两位小数的浮点数。{1:s}表示将第二个参数格式化为字符串。{2:d}表示将第三个参数格式化为精确整数。 为了替换这些格式参数的参数我们将参数序列传递给该format方法 In [80]: template.format(88.46, Argentine Pesos, 1)
Out[80]: 88.46 Argentine Pesos are worth US$1Python 3.6 引入了一个名为f-strings格式化字符串文字的缩写的新功能它可以使创建格式化字符串变得更加方便。要创建 f 字符串请f在字符串文字前面写入字符。在字符串中将 Python 表达式括在大括号中以将表达式的值替换为格式化字符串 In [81]: amount 10In [82]: rate 88.46In [83]: currency PesosIn [84]: result f{amount} {currency} is worth US${amount / rate}可以使用与上面的字符串模板相同的语法在每个表达式之后添加格式说明符 In [85]: f{amount} {currency} is worth US${amount / rate:.2f}
Out[85]: 10 Pesos is worth US$0.11在现代 Python即 Python 3.0 及更高版本中Unicode 已成为一流的字符串类型可以更一致地处理 ASCII 和非 ASCII 文本。在旧版本的 Python 中字符串都是字节没有任何显式的 Unicode 编码。假设您知道字符编码则可以转换为 Unicode。下面是一个包含非 ASCII 字符的 Unicode 字符串示例 In [86]: val españolIn [87]: val
Out[87]: español我们可以使用以下方法将此 Unicode 字符串转换为其 UTF-8 字节表示形式encode In [88]: val_utf8 val.encode(utf-8)In [89]: val_utf8
Out[89]: bespa\xc3\xb1olIn [90]: type(val_utf8)
Out[90]: bytes假设您知道对象的 Unicode 编码bytes您可以使用以下方法返回decode In [91]: val_utf8.decode(utf-8)
Out[91]: español内置的 Pythondatetime模块提供datetime、date、 和time类型。该类型结合了和datetime中存储的信息是最常用的datetime In [113]: from datetime import datetime, date, timeIn [114]: dt datetime(2011, 10, 29, 20, 30, 21)In [115]: dt.day
Out[115]: 29In [116]: dt.minute
Out[116]: 30给定一个datatime实例可以使用data和time方法获取它的data和time对象。 In [117]: dt.date()
Out[117]: datetime.date(2011, 10, 29)In [118]: dt.time()
Out[118]: datetime.time(20, 30, 21)该strftime方法将 a 格式化datetime为字符串 In [119]: dt.strftime(%Y-%m-%d %H:%M)
Out[119]: 2011-10-29 20:30可以使用以下函数将字符串转换解析为datetime对象strptime In [120]: datetime.strptime(20091031, %Y%m%d)
Out[120]: datetime.datetime(2009, 10, 31, 0, 0)当聚合或以其他方式对时间序列数据进行分组时会常常用到替代datatime时间序列的一些值例如将minute和second字段替换为零 In [121]: dt_hour dt.replace(minute0, second0)In [122]: dt_hour
Out[122]: datetime.datetime(2011, 10, 29, 20, 0)由于datetime.datetime是不可变类型因此此类方法总是会生成新对象。所以在前面的例子中dt没有被修改 In [123]: dt
Out[123]: datetime.datetime(2011, 10, 29, 20, 30, 21)两个对象的差异datetime产生一个datetime.timedelta类型 In [124]: dt2 datetime(2011, 11, 15, 22, 30)In [125]: delta dt2 - dtIn [126]: delta
Out[126]: datetime.timedelta(days17, seconds7179)In [127]: type(delta)
Out[127]: datetime.timedelta输出timedelta(17, 7179)表明timedelta编码偏移量为 17 天 7,179 秒。