pandas
Posted yinglai
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了pandas相关的知识,希望对你有一定的参考价值。
pandas:数据分析
- pandas是一个强大的的python数据分析的工具包
- pandas是基于NumPy构建的
- pandas的主要功能:
- 具备对其功能对数据结构DataFrame, Series
- 集成时间序列功能
- 提供丰富的数学运算和操作
- 灵活处理缺失数据
安装方法:pip install pandas
引用方法:import pandas as pd
pandas:Series
Series是一种类似于一维数组的对象,有一组数据和一组与之相关的数据标签(索引)组成
Series比较像列表(数组)和字典的结合体
创建方式
In [62]: pd.Series([1,2,3,-6,7]) Out[62]: 0 1 1 2 2 3 3 -6 4 7 dtype: int64 In [67]: pd.Series([1,2,3,-6,7],index=[‘a‘, ‘b‘, ‘c‘, ‘d‘, ‘e‘]) Out[67]: a 1 b 2 c 3 d -6 e 7 dtype: int64 In [69]: pd.Series({‘a‘:11, ‘b‘:22}) Out[69]: a 11 b 22 dtype: int64 In [70]: pd.Series(0, index=[‘a‘, ‘b‘, ‘d‘]) Out[70]: a 0 b 0 d 0 dtype: int64
获取值数组和索引数组:values属性和index属性
In [71]: a = pd.Series([11,22,33,44,55], index=[‘a‘, ‘b‘, ‘c‘,‘d‘, ‘e‘]) In [72]: a Out[72]: a 11 b 22 c 33 d 44 e 55 dtype: int64 In [73]: a.values Out[73]: array([11, 22, 33, 44, 55]) In [74]: a.index Out[74]: Index([u‘a‘, u‘b‘, u‘c‘, u‘d‘, u‘e‘], dtype=‘object‘)
pandas:Series特性
Series支持NumPy模块的特性 从ndarray创建Series: Series(arr) In [75]: a = pd.Series(np.array([11,22,33,44])) In [76]: a Out[76]: 0 11 1 22 2 33 3 44 dtype: int64 与标量运算:sr*2 In [75]: a = pd.Series(np.array([11,22,33,44])) In [76]: a Out[76]: 0 11 1 22 2 33 3 44 dtype: int64 In [77]: a+10 Out[77]: 0 21 1 32 2 43 3 54 dtype: int64 In [79]: a*2 Out[79]: 0 22 1 44 2 66 3 88 dtype: int64 两个Series运算:sr1+sr2 In [75]: a = pd.Series(np.array([11,22,33,44])) In [80]: b = pd.Series([1,2,3,4]) In [81]: a+b Out[81]: 0 12 1 24 2 36 3 48 dtype: int64 索引:sr[0], sr[[0,2,4]]花式索引 In [75]: a = pd.Series(np.array([11,22,33,44])) In [82]: a[0] Out[82]: 11 In [85]: a[[0,2,3]] Out[85]: 0 11 2 33 3 44 dtype: int64 切片: sr[0:2] In [75]: a = pd.Series(np.array([11,22,33,44])) In [86]: a[0:3] Out[86]: 0 11 1 22 2 33 dtype: int64 布尔值过滤:sr[sr>0] In [75]: a = pd.Series(np.array([11,22,33,44])) In [87]: a[a>30] Out[87]: 2 33 3 44 dtype: int64 通用函数:np.abs(sr) In [91]: a = pd.Series(-2) In [92]: a Out[92]: 0 -2 dtype: int64 In [93]: np.abs(a) Out[93]: 0 2 dtype: int64
Series支持字典的特性
从字典创建Series: Series(dic) In [94]: a = pd.Series({‘a‘:10, ‘b‘:20, ‘c‘:30}) In [95]: a Out[95]: a 10 b 20 c 30 dtype: int64 in运算:‘a‘ in sr In [96]: ‘c‘ in a Out[96]: True 键索引:sr[‘a‘], sr[[‘a‘, ‘b‘, ‘c‘]] In [97]: a[‘b‘] Out[97]: 20 In [98]: a[[‘a‘, ‘c‘]] Out[98]: a 10 c 30 dtype: int64
pandas:整数索引
整数索引的pandas对象错误示例 sr = np.Series(np.arange(4)) sr[-1] 如果索引是整数类型,则根据整数进行数据操作时总是面向标签的 loc 以标签解释 iloc 以下标解释
#loc以标签解释 In [123]: a = pd.Series([11,22,33,44], index=[11,22,33,44]) In [124]: a Out[124]: 11 11 22 22 33 33 44 44 dtype: int64 In [125]: a.loc[11] Out[125]: 11 In [126]: a.loc[11:33] Out[126]: 11 11 22 22 33 33 dtype: int64 #iloc以下标解释 In [131]: a.iloc[-1] Out[131]: 44 In [133]: a.iloc[0:3] Out[133]: 11 11 22 22 33 33 dtype: int64
以上是关于pandas的主要内容,如果未能解决你的问题,请参考以下文章
text [检查特定的数据片段]取自论文但有意思应用。 #python #pandas