Pandas系列(一)-Series详解

一、初始Series

  Series 是一个带有 名称 和索引的一维数组,既然是数组,肯定要说到的就是数组中的元素类型,在 Series 中包含的数据类型可以是整数、浮点、字符串、Python对象等。

 pandas.Series(data=None, index=None, dtype=None, name=None, copy=False, fastpath=False)
  • 创建第一个Series

import pandas as pd
user_age = pd.Series(data=[18, 30, 25, 40])
user_age.index = ["Tom", "Bob", "Mary", "James"] #加索引
user_age.index.name = "name"  #索引加名字
user_age.name="user_age_info"  #series加名字
user_age
Out[4]:
name
Tom      18
Bob      30
Mary     25
James    40
Name: user_age_info, dtype: int64
  • 创建Series的方式
  1. 列表方式创建

    pd.Series([],index=[]) 
  2. 字典方式创建

    pd.Series({}

# 方式一
t = pd.Series([1,2,3,4,43],index=list(‘asdfg‘))
print(t)
a     1
s     2
d     3
f     4
g    43
dtype: int64

#方式二
temp_dict = {‘name‘:‘xiaohong‘,‘age‘:30,‘tel‘:10086}
t2 = pd.Series(temp_dict)
t2
Out[10]:
name    xiaohong
age           30
tel        10086
dtype: object

import string
#字典推导式
a = {string.ascii_uppercase[i]:i for i in range(10)}
print(a)
print(pd.Series(a))
print(pd.Series(a,index=list(string.ascii_uppercase[5:15])))
{‘A‘: 0, ‘B‘: 1, ‘C‘: 2, ‘D‘: 3, ‘E‘: 4, ‘F‘: 5, ‘G‘: 6, ‘H‘: 7, ‘I‘: 8, ‘J‘: 9}
A    0
B    1
C    2
D    3
E    4
F    5
G    6
H    7
I    8
J    9
dtype: int64
F    5.0
G    6.0
H    7.0
I    8.0
J    9.0
K    NaN
L    NaN
M    NaN
N    NaN
O    NaN
dtype: float64

创建series实例

  • 手动指定数据类型
#手动指定类型
name = ["Tom", "Bob", "Mary", "James"]
user_age = pd.Series(data=[18, 30, 25, 40], index=name, name="user_age_info", dtype=float)
user_age
Out[7]:
Tom      18.0
Bob      30.0
Mary     25.0
James    40.0
Name: user_age_info, dtype: float64

 二、Series的索引

  •  series索引有五种方式:索引、序号、逻辑值查找、切片,数组
name = pd.Index(["Tom", "Bob", "Mary", "James"], name="name")
user_age = pd.Series(data=[18, 30, 25, 40], index=name, name="user_age_info")
"""按索引、序号,逻辑值查找,切片"""
user_age[‘Tom‘]   # 索引
Out[14]: 18
user_age.get(‘Tom‘)   # get方式
Out[15]: 18
user_age[0]  # 序号
Out[16]: 18
user_age[:3]   # 切片
Out[17]:
name
Tom     18
Bob     30
Mary    25
Name: user_age_info, dtype: int64
user_age[user_age>25]    # 逻辑值查找
Out[18]:
name
Bob      30
James    40
Name: user_age_info, dtype: int64
user_age[[3,1]]     # 取多个值
Out[19]:
name
James    40
Bob      30
Name: user_age_info, dtype: int64
user_age[::2]   # 切片
Out[20]:
name
Tom     18
Mary    25
Name: user_age_info, dtype: int64

 三、基本属性 

user_age.shape
Out[21]: (4,)
user_age.index
Out[22]: Index([‘Tom‘, ‘Bob‘, ‘Mary‘, ‘James‘], dtype=‘object‘, name=‘name‘)
user_age.values
Out[23]: array([18, 30, 25, 40], dtype=int64)
user_age.unique()
Out[24]: array([18, 30, 25, 40], dtype=int64)
user_age.nunique()
Out[25]: 4
user_age.dropna()
Out[26]:
name
Tom      18
Bob      30
Mary     25
James    40
Name: user_age_info, dtype: int64
user_age.isin(list(range(30)))
Out[28]:
name
Tom       True
Bob      False
Mary      True
James    False
Name: user_age_info, dtype: bool
user_age.sort_index()
Out[29]:
name
Bob      30
James    40
Mary     25
Tom      18
Name: user_age_info, dtype: int64
user_age.sort_values()
Out[30]:
name
Tom      18
Mary     25
Bob      30
James    40
Name: user_age_info, dtype: int64
user_age.sort_values(ascending=False)
Out[31]:
name
James    40
Bob      30
Mary     25
Tom      18
Name: user_age_info, dtype: int64
  •  数字类型

  • 字符串类型

四、画图

Series.plot(kind=‘line‘, ax=None, figsize=None, use_index=True, title=None, grid=None, legend=False, style=None, logx=False, logy=False, loglog=False, xticks=None, yticks=None, xlim=None, ylim=None, rot=None, fontsize=None, colormap=None, table=False, yerr=None, xerr=None, label=None, secondary_y=False, **kwds)[source]

  

官方文档:http://pandas.pydata.org/pandas-docs/stable/generated/pandas.Series.plot.html

  • series转为dataframe
series.to_frame()

  

原文地址:https://www.cnblogs.com/zhangyafei/p/10509837.html

时间: 2024-10-04 07:36:42

Pandas系列(一)-Series详解的相关文章

Android组件系列----Activity组件详解

[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/3924567.html 联系方式:[email protected] [正文] 注:四大组件指的是应用组件:Activity.Service.BroadcastReceiver.ContentProvider:之前的控件指的是UI组件. 博文目录: 一.Activity简介 二.Activity的状

Android自定义控件系列八:详解onMeasure()(二)--利用onMeasure测量来实现图片拉伸永不变形,解决屏幕适配问题

上一篇文章详细讲解了一下onMeasure/measure方法在Android自定义控件时的原理和作用,参看博文:Android自定义控件系列七:详解onMeasure()方法中如何测量一个控件尺寸(一),今天就来真正实践一下,让这两个方法大显神威来帮我们搞定图片的屏幕适配问题. 请尊重原创劳动成果,转载请注明出处:http://blog.csdn.net/cyp331203/article/details/45038329,非允许请勿用于商业或盈利用途,违者必究. 使用ImageView会遇到

mongo 3.4分片集群系列之六:详解配置数据库

这个系列大致想跟大家分享以下篇章(我会持续更新的(^ω^)): 1.mongo 3.4分片集群系列之一:浅谈分片集群 2.mongo 3.4分片集群系列之二:搭建分片集群--哈希分片 3.mongo 3.4分片集群系列之三:搭建分片集群--哈希分片 + 安全 4.mongo 3.4分片集群系列之四:搭建分片集群--哈希分片 + 安全 + 区域 5.mongo 3.4分片集群系列之五:详解平衡器 6.mongo 3.4分片集群系列之六:详解配置数据库 7.mongo 3.4分片集群系列之七:配置数

Ansible系列命令用法详解与使用

Ansible系列命令用法与使用 在上一个文章中已经完成了Ansible的安装,这片文章主要的用来记录Ansible一些命令的用法详解及其使用场景.好了非话不多说,'上菜吧'. Ansible命令行执行方式有Ad-hoc.Ansible-playbook两种方式.Web化执行方式其官方提供了付费产品Tower(10台以内免费),个人的话可以基于API开发类似的Web化产品.此篇文章主要针对于Ad-hoc.Ansible-playbook两种方式做详细介绍. 什么是Ad-hoc.Ansible-p

直通BAT必考题系列:深入详解JVM内存模型与JVM参数详细配置

VM基本是BAT面试必考的内容,今天我们先从JVM内存模型开启详解整个JVM系列,希望看完整个系列后,可以轻松通过BAT关于JVM的考核. BAT必考JVM系列专题 1.JVM内存模型 2.JVM垃圾回收算法 3.JVM垃圾回收器 4.JVM参数详解 5.JVM性能调优 JVM内存结构 由上图可以清楚的看到JVM的内存空间分为3大部分: 堆内存 方法区 栈内存 其中栈内存可以再细分为java虚拟机栈和本地方法栈,堆内存可以划分为新生代和老年代,新生代中还可以再次划分为Eden区.From Sur

广告行业中那些趣事系列4:详解从配角到C位出道的Transformer

摘要:上一篇广告行业中那些趣事系列3:NLP中的巨星BERT,从理论的角度讲了下NLP中有里程碑意义的BERT模型.BERT具有效果好和通用性强两大优点,其中效果好最主要的原因就是使用了Transformer作为特征抽取器.本篇主要详解下这个从配角到C位出道的Transformer,主要从宏观和微观的角度分析Transformer,讲下它的核心注意力机制Attention,然后以翻译任务举例讲下Transformer是如何进行工作的. 对充满挑战的高薪行业NLP感兴趣的小伙伴可以多多关注.不仅仅

C++ list容器系列功能函数详解

C++ list函数详解 首先说下eclipse工具下怎样debug:方法:你先要设置好断点,然后以Debug方式启动你的应用程序,不要用run的方式,当程序运行到你的断点位置时就会停住,也会提示你进入到Debug视图方式操作,F5是进入到函数或语句块的内部,F6是单步运行,一行一行的走,F7可以跳当前监听函数或语句块F8 会直接跳到下个断点. 下面进入主题: 一.构造.析构函数.= 运算符 1.功能:声明list容器.4种方式 list<int> first;                

迈向angularjs2系列(3):组件详解

一: 以组件开发一个to-do list应用 todo组件分为导入.接口定义.顶层组件.控制器.启动5个部分. app.ts: //导入 import {Component} from '@angular/core'; import {bootstrap} from '@angular/platform-browser-dynamic'; //接口定义 interface Todo { completed: boolean; label: string; } //顶层组件 @Component(

CentOS系列启动流程详解

一.Linux启动内核文件 1.Linux系统组成 动态视角:内核+根文件系统 静态视角:磁盘分区+相关文件 2.Kernel特点 (1)支持某块化:.ko (kernel object)文件 (2)支持模块运行时动态装载或卸载: 总结:Linux kernel在但内核设计模型上,吸取了多内核设计的优点,使用了模块化设计 单内核设计:把所有功能集成于同一个程序:如Linux 微内核设计:每种功能使用一个单独的子系统实现:如Windows, Solaris 2.kernel组成 (1)核心文件 1