一、索引

1.1 索引顺序

list的索引为从0到n-1。不可更改索引。

Series的索引:如果未定义为从0到n-1。如果定义,则为定义的索引,一旦定义完成,索引对象将不可更改。但是索引是可以改变的。

import pandas as pd
series_1 = pd.Series([1, 2, 3])
series_2 = pd.Series([1, 2, 3], index=['a', 'b', 'c'])
series_3 = pd.Series(series_2, index=['a', 'b', 'd'])
list_1 = list([1, 2, 3]) print('series_1\n', series_1)
print('series_2\n', series_2)
print('series_3\n', series_3)
print('list_1\n', list_1)

1.2 索引查值

1.2.1 有对应的索引

import pandas as pd
series_1 = pd.Series([1, 2, 3])
series_2 = pd.Series([1, 2, 3], index=['a', 'b', 'c'])
list_1 = list([1, 2, 3]) result_1 = series_1[1]
result_2 = series_2['b']
result_3 = list_1[1] print('result_1', result_1)
print('result_2', result_2)
print('result_3', result_3)

1.2.2 无对应的索引

都会报错。

二、加减乘除操作

2.1 加操作

Series进行加操作时,相同索引进行相加。如果索引有一方未有则为NaN。

也可以是同时加上一个数。

list则是直接拼接。注意list元素不仅可以为数字,还可以为字符串等。

import pandas as pd
series_1 = pd.Series([1, 2, 3])
series_21 = pd.Series([4, 5, 6])
series_2 = pd.Series([4, 5, 6], index=['a', 'b', 'c'])
list_1 = list(range(1, 4, 1))
list_2 = list(range(4, 7, 1))
series_3 = series_1 + series_2
series_4 = series_1 + series_21
series_5 = series_1 + 5
list_3 = list_1 + list_2
# list_4 = list_1 + 2 报错 print('series_3', series_3)
print('series_4', series_4)
print('series_5', series_5)
print('list_3', list_3)

2.2 减操作

Series与加操作相同,对应索引进行操作。list没有减操作。

2.3 乘操作

Series与加操作相同,对应索引进行操作。list则是直接拼接。

import pandas as pd
series_1 = pd.Series([1, 2, 3])
series_21 = pd.Series([4, 5, 6])
series_2 = pd.Series([4, 5, 6], index=['a', 'b', 'c'])
list_1 = list(range(1, 4, 1))
list_2 = list(range(4, 7, 1))
series_3 = series_1 * series_2
series_4 = series_1 * series_21
series_5 = series_1 * 5
# list_3 = list_1 * list_2 报错
list_4 = list_1 * 2 print('series_3', series_3)
print('series_4', series_4)
print('series_5', series_5)
print('list_4', list_4)

2.4  除操作

Series与加操作相同,对应索引进行操作。list没有除操作。

三、其他操作

3.1 删除对象操作

import pandas as pd
series_2 = pd.Series([1, 2, 3], index=['a', 'b', 'c'])
series_3 = series_2.drop('a', inplace=False) #inplace默认为False,series_2不发生改变,如果为True,则series会发生改变
list_1 = list([1, 2, 3])
del list_1[1] print('series_2\n', series_2)
print('series_3\n', series_3)
print('list_1\n', list_1)

Series与list的更多相关文章

  1. 利用Python进行数据分析(8) pandas基础: Series和DataFrame的基本操作

    一.reindex() 方法:重新索引 针对 Series   重新索引指的是根据index参数重新进行排序. 如果传入的索引值在数据里不存在,则不会报错,而是添加缺失值的新行. 不想用缺失值,可以用 ...

  2. 利用Python进行数据分析(7) pandas基础: Series和DataFrame的简单介绍

    一.pandas 是什么 pandas 是基于 NumPy 的一个 Python 数据分析包,主要目的是为了数据分析.它提供了大量高级的数据结构和对数据处理的方法. pandas 有两个主要的数据结构 ...

  3. 数据分析(8):Series介绍

    Series Series由一组数据及索引组成 索引 采用默认索引 data = pd.Series([4, 3, 2, 1]) 自定义索引 data = pd.Series([4, 3, 2, 1] ...

  4. POJ 3233Matrix Power Series

    妈妈呀....这简直是目前死得最惨的一次. 贴题目: http://poj.org/problem?id=3233 Matrix Power Series Time Limit: 3000MS Mem ...

  5. highchart 添加新的series

    code: <!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" c ...

  6. C# Chart控件,chart、Series、ChartArea曲线图绘制的重要属性

    http://blog.sina.com.cn/s/blog_621e24e20101cp64.html 为避免耽误不喜欢这种曲线图效果的亲们的时间,先看一下小DEMO效果图: 先简单说一下,从图中可 ...

  7. pandas 学习(1): pandas 数据结构之Series

    1. Series Series 是一个类数组的数据结构,同时带有标签(lable)或者说索引(index). 1.1 下边生成一个最简单的Series对象,因为没有给Series指定索引,所以此时会 ...

  8. (转)LSTM NEURAL NETWORK FOR TIME SERIES PREDICTION

    LSTM NEURAL NETWORK FOR TIME SERIES PREDICTION Wed 21st Dec 2016   Neural Networks these days are th ...

  9. Time Series data 与 sequential data 的区别

    It is important to note the distinction between time series and sequential data. In both cases, the ...

  10. survey on Time Series Analysis Lib

    (1)I spent my 4th year Computing project on implementing time series forecasting for Java heap usage ...

随机推荐

  1. 《剑指offer》算法题第五天

    今日题目: 反转链表 合并两个排序的链表 树的子结构 二叉树的镜像 对称二叉树 今日重点是1反转链表,3树的子结构,以及5对称二叉树. 1. 反转链表 题目描述: 输入一个链表,反转链表后,输出链表的 ...

  2. TTTTTTTTTTTTTTTT #7 div1 A Breadth-First Search by Foxpower 在线LCA(倍增),模拟

    A - Breadth-First Search by Foxpower Time Limit:2000MS     Memory Limit:131072KB     64bit IO Format ...

  3. luoguP1160 队列安排 x

    P1160 队列安排 982通过 2.3K提交 题目提供者 该用户不存在 标签 云端 难度 普及/提高- 时空限制 1s / 128MB 题目描述 一个学校里老师要将班上N个同学排成一列,同学被编号为 ...

  4. 【WebStorm】前端工具开发利器webstrom专篇

    ---------------------------------------------------------------------------------[亲身实测] WebStorm混搭sv ...

  5. MERGE INTO 解决大数据量复杂操作更新慢的问题

    现我系统中有一条复杂SQL,由于业务复杂需要关联人员的工作离职三个表,并进行分支判断,再计算人员的字段信息,由于人员多,分支多,计算复杂等原因,一次执行需要5min,容易卡死,现在使用MERGE IN ...

  6. Spring Cloud Feign声明式服务调用(转载)+遇到的问题

    转载:原文 总结: 1.pom添加依赖 2.application中填写正确的eureka配置 3.启动项中增加注解 @EnableFeignClients 4.填写正确的调用接口 通过原文使用Fei ...

  7. 如何使用Navicat监控mysql数据库服务器

    https://jingyan.baidu.com/article/c33e3f48de5208ea15cbb525.html 打开Navicat   点击[工具]菜单,选择[服务器监控]下的[MyS ...

  8. koa 项目实战(一)创建项目

    1.安装模块 npm install koa koa-router --save npm install -g nodemon 2.入口文件 app.js const Koa = require('k ...

  9. Fiddler抓包原理和使用详解

    iddler抓包工具在APP开发过程中使用非常频繁,对开发者理解HTTP网络传输原理以及分析定位网络方面的问题非常有帮助.今天抽点时间出来总结一下Fiddler在实际开发过程中的应用. 我开发过程中使 ...

  10. 执行docker run命令时报错Get https://registry-1.docker.io/v2/: net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)

    一.解决办法: 修改host 二.步骤如下 2.1 安装dig工具  sudo apt-get install dnsutils -y (ubuntu下的安装方法) 2.2 找到registry-1. ...