Series与list
一、索引
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的更多相关文章
- 利用Python进行数据分析(8) pandas基础: Series和DataFrame的基本操作
一.reindex() 方法:重新索引 针对 Series 重新索引指的是根据index参数重新进行排序. 如果传入的索引值在数据里不存在,则不会报错,而是添加缺失值的新行. 不想用缺失值,可以用 ...
- 利用Python进行数据分析(7) pandas基础: Series和DataFrame的简单介绍
一.pandas 是什么 pandas 是基于 NumPy 的一个 Python 数据分析包,主要目的是为了数据分析.它提供了大量高级的数据结构和对数据处理的方法. pandas 有两个主要的数据结构 ...
- 数据分析(8):Series介绍
Series Series由一组数据及索引组成 索引 采用默认索引 data = pd.Series([4, 3, 2, 1]) 自定义索引 data = pd.Series([4, 3, 2, 1] ...
- POJ 3233Matrix Power Series
妈妈呀....这简直是目前死得最惨的一次. 贴题目: http://poj.org/problem?id=3233 Matrix Power Series Time Limit: 3000MS Mem ...
- highchart 添加新的series
code: <!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" c ...
- C# Chart控件,chart、Series、ChartArea曲线图绘制的重要属性
http://blog.sina.com.cn/s/blog_621e24e20101cp64.html 为避免耽误不喜欢这种曲线图效果的亲们的时间,先看一下小DEMO效果图: 先简单说一下,从图中可 ...
- pandas 学习(1): pandas 数据结构之Series
1. Series Series 是一个类数组的数据结构,同时带有标签(lable)或者说索引(index). 1.1 下边生成一个最简单的Series对象,因为没有给Series指定索引,所以此时会 ...
- (转)LSTM NEURAL NETWORK FOR TIME SERIES PREDICTION
LSTM NEURAL NETWORK FOR TIME SERIES PREDICTION Wed 21st Dec 2016 Neural Networks these days are th ...
- Time Series data 与 sequential data 的区别
It is important to note the distinction between time series and sequential data. In both cases, the ...
- survey on Time Series Analysis Lib
(1)I spent my 4th year Computing project on implementing time series forecasting for Java heap usage ...
随机推荐
- CSS3选择器:nth-child和:nth-of-type的差异
p:nth-child(2)表示这个元素要是p标签,且是第二个子元素,是两个必须满足的条件. <section> <div>我是一个普通的div标签</div> & ...
- 洛谷比赛 U5442 买(最长链)
U5442 买 题目提供者bqsgwys 标签 树形结构 树的遍历 洛谷原创 题目背景 小E是个可爱的电路编码员. 题目描述 一天小E又要准备做电路了,他准备了一个电路板,上面有很多个电路元器件要安装 ...
- flask框架(十一): 蓝图
蓝图用于为应用提供目录划分: 一:上目录结构 二:上代码 <!DOCTYPE html> <html lang="en"> <head> < ...
- android自定义键盘(解决弹出提示的字体颜色问题)
最近准备要做一个项目,需要用到自定义小键盘来确保安全,而且还需要精确获得用户点击键盘时的落点位置.力度.指尖接触屏幕的面积等参数. 在写自定义键盘的时候,用到了国内网上的一些代码,出处是 向先人致敬! ...
- 2017多校联合训练2—HDU6054--Is Derek lying?(思维题)
Is Derek lying? Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)T ...
- vue 项目安装
安装stylus npm install stylus stylus-loader --save-dev
- CPU上下文切换分析
一.CPU上下文切换 1.上下文切换,有时也称做进程切换或任务切换,是指CPU从一个进程或线程切换到另一个进程或线程. 2.vmstat是一个常用的系统性能分析工具,主要用来分析系统内存使用情况,也常 ...
- SRS之TS封装PAT和PMT
1. SrsTsContext::encode_pat_pmt 在该函数中,将 PAT 和 PMT 封装到 TS Packet 中,并将这两个 TS packet 写入到 ts 文件中. /* the ...
- Java Web Services面试
Q. 应用集成方式有哪些? A. 应用可以采用以下方式集成: 1. 共享数据库 2. 批量文件传输 3. 远程过程调用(RPC) 4. 通过消息中间件来交换异步信息(MOM) Q. 应用集成可以采用的 ...
- Async Task Types in C#
Async Task Types in C# Extend async to support task types that match a specific pattern, in addition ...