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

Pandas学习录(一、Pandas简介以及Series结构说明)

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

Pandas学习录(一、Pandas简介以及Series结构说明)

Pandas学习录

Pandas是基于NumPy 的一种工具,为了解决数据分析任务而创建

  • 不管数据的来源,使用Pandas都可以完成数据处理和分析的5个典型步骤:加载,准备,操作,模型和分析
  • Pandas是通过代码来实现Excel和数据库的基本功能,并提供了更丰富的分析函数
  • Python Pandas用于广泛的领域,包括金融,经济,统计,分析等学术和商业领域
Series结构

Series 是类似于数组的一维数据结构,由**索引(index)和值(values)**两个相关联的数组组成

索引:每个元素的名称,可以是数字,也可以是字符串

下图两个Series结构,index分别是数字和字符串

创建Series结构
pandas.Series(data=None, index=None, dtype=None, name=None, copy=False, fastpath=False)
#data:Python的列表或Numpy的一维ndarray对象
#index:列表,若省略则自动生成0~n-1的数字索引
#dtype:为储存数据的类型
#name:为列表的名字

例子

s = pd.Series(data = [100, 'a', {'dic1':5}],
              index = pd.Index(['id1', 20, 'third'], name='my_idx'),
              dtype = 'object',
              name = 'my_name')
s
my_idx
id1              100
20                 a
third    {'dic1': 5}
Name: my_name, dtype: object
import pandas as pd
data = [187,190,185,178,185]
index = [13,14,7,2,9]
player = pd.Series(data, index)
player
13    187
14    190
7     185
2     178
9     185
dtype: int64
data = [187,190,185,178,185]
player = pd.Series(data)
player #默认为数字索引
0    187
1    190
2    185
3    178
4    185
dtype: int64

对于Series的基础属性,可以通过**.属性名**直接访问

player.values
array([187, 190, 185, 178, 185], dtype=int64)
player.index
RangeIndex(start=0, stop=5, step=1)
Series向量化的字符串函数

面向Series中的元素可以跳过空缺值,避免应用失败通过Series的str属性进行调用

data = ['peter', 'Paul', None, 'MARY', 'gUIDO']
[s.title() for s in data]
AttributeError: 'NoneType' object has no attribute 'title'
data = ['peter', 'Paul', None, 'MARY', 'gUIDO']
names = pd.Series(data)
names.str.title()
'''
0    Peter
1     Paul
2     None
3     Mary
4    Guido
dtype: object
'''

Tab补全查看Pandas 支持的所有向量化字符串方法

Series.str.contains(pat, case=True, flags=0, na=None, regex=True)

data = ['dave@google.com', 'steve@gmail.com','rob@mail.com',None]
emails = pd.Series(data)
emails
'''
0    dave@google.com
1    steve@gmail.com
2       rob@mail.com
3               None
dtype: object
'''

例子

找出gmail的电子邮箱

emails.str.contains('gmail')
'''
0    False
1     True
2    False
3     None
dtype: object'''
Series统计计数排序

Series.value_counts(normalize=False, sort=True, ascending=False, bins=None, dropna=True)

obj = pd.Series(['a','c','d','b','a','b','b','c','c'])
obj.value_counts()
'''
c    3#值xiang'to
b    3
a    2
d    1
dtype: int64
'''

ins=None, dropna=True)``

obj = pd.Series(['a','c','d','b','a','b','b','c','c'])
obj.value_counts()
'''
c    3#值xiang'to
b    3
a    2
d    1
dtype: int64
'''
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1026831.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

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

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