pandas模块

Posted neozheng

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了pandas模块相关的知识,希望对你有一定的参考价值。

pandas简介:

pandas是一个强大的Python数据分析的工具包,是基于NumPy构建的。

pandas的主要功能:

1. 具备对其功能的数据结构DataFrame、Series
2. 集成时间序列功能
3. 提供丰富的数学运算和操作
4. 灵活处理缺失数据

安装方法:

pip install pandas

引用方法:

import pandas as pd

 

Series --- 一维数据对象

Series是一种类似于一维数据的对象,由一组数据和一组与之相关的数据标签(索引)组成。

创建方式:

import pandas as pd
pd.Series([4,7,-5,3])
pd.Series([4,7,-5,3],index=[a,b,c,d])
pd.Series({a:1,b:2})
pd.Series(0,index=[a,b,c,d])

获取值数组和索引数组: values属性和index属性
Series比较像列表(数组)和字典的结合体

示例代码:

# Series创建方式
import pandas as pd
import numpy as np

pd.Series([2,3,4,5])  # 列表创建Series
"""
输出结果:
0    2
1    3
2    4
3    5
dtype: int64

# 左边一列是 索引,右边一列是值
"""

pd.Series([2,3,4,5],index=["a","b","c","d"])  # 指定索引
"""
输出结果:
a    2
b    3
c    4
d    5
dtype: int64
"""

# Series支持array 的特性(下标)
pd.Series(np.arange(5))  # 数组创建 Series
"""
输出结果:
0    0
1    1
2    2
3    3
4    4
dtype: int32
"""

sr = pd.Series([2,3,4,5],index=["a","b","c","d"])
sr
"""
a    2
b    3
c    4
d    5
dtype: int64
"""

# 索引:
sr[0]
#  输出结果: 2  # sr虽然指定了 标签索引,但仍可以利用 下标索引 的方式获取值

sr[[1,2,0]]  # sr[[索引1,索引2,...]]
"""
b    3
c    4
a    2
dtype: int64
"""

sr[d]
# 输出结果: 5

# Series可以和标量进行运算
sr+2
"""
a    4
b    5
c    6
d    7
dtype: int64
"""

# 两个相同大小(长度相同)的 Series 也可以进行运算
sr + sr
"""
a     4
b     6
c     8
d    10
dtype: int64
"""

# 切片
sr[0:2]  # 也是 顾首不顾尾
"""
a    2
b    3
dtype: int64
"""

# Series也支持 numpy 的通用函数
np.abs(sr)
"""
a    2
b    3
c    4
d    5
dtype: int64
"""

# 支持布尔型索引过滤
sr[sr>3]
"""
c    4
d    5
dtype: int64
"""

sr>3
"""
a    False
b    False
c     True
d     True
dtype: bool
"""

# Series支持字典的特性(标签)
# 通过字典创建 Series
sr = pd.Series({"a":1,"b":2})
sr 
"""
a    1
b    2
dtype: int64
# 字典的 key 会当作 标签
"""

sr["a"] # 输出结果: 1 sr[0] # 输出结果: 1 # 判断 一个字符串 是不是一个Series 中的标签 "a" in sr # 输出结果: True for i in sr: print(i) """ 打印结果: 1 2 # for 循环中,遍历的是 Seires 中的 值(value),而不是它的标签;这是和字典不同的地方 """ # 分别获取 Series 的值和索引 sr.index # 获取索引 # 输出结果: Index([‘a‘, ‘b‘], dtype=‘object‘) # 是一个 Index 类的对象,其和数组对象(Array)完全一样 sr.index[0] # 输出结果: ‘a‘ sr.values # 获取 Series 的值 # 输出结果: array([1, 2], dtype=int64) # 键索引 sr[a] # 输出结果: 1 sr[[a,b]] # 也是 花式索引 """ a 1 b 2 dtype: int64 """ sr = pd.Series([1,2,3,4,5,6],index=[a,b,c,d,e,f]) sr """ a 1 b 2 c 3 d 4 e 5 f 6 dtype: int64 """
sr[[a,c]] """ a 1 c 3 dtype: int64 """
sr[a:c] # 通过标签进行切片; 首尾相顾,前包后也包 """ a 1 b 2 c 3 dtype: int64 """

 

以上是关于pandas模块的主要内容,如果未能解决你的问题,请参考以下文章

pandas GroupBy上的方法apply:一般性的“拆分-应用-合并”

ModuleNotFoundError:vs 代码中没有名为“pandas”的模块

如何有条件地将 C 代码片段编译到我的 Perl 模块?

text [检查特定的数据片段]取自论文但有意思应用。 #python #pandas

安装部分 pandas 模块

CTS测试CtsWindowManagerDeviceTestCases模块的testShowWhenLockedImeActivityAndShowSoftInput测试fail项解决方法(代码片段