参考链接: 创建Pandas Series

文章目录

1.什么是pandas2.查看pandas版本信息3.常见数据类型4.pandas创建Series数据类型对象1). 通过列表创建Series对象2). 通过numpy的对象Ndarray创建Series;3). 通过字典创建Series对象;

5.Series基本操作1). 修改Series索引.index2). Series纵向拼接.append3). 删除指定索引对应的元素.drop('index')4). 根据指定的索引查找元素5). 切片操作 --- 同列表

6.Series运算1).加法add2).减法sub3).乘法mul4).除法div5).求中位数median6).求和sum7).最大值max8).最小值min

7.特殊的where方法

1.什么是pandas

2.查看pandas版本信息

print(pd.__version__)

输出:

0.24.1

3.常见数据类型

常见的数据类型: - 一维: Series - 二维: DataFrame - 三维: Panel … - 四维: Panel4D … - N维: PanelND …

4.pandas创建Series数据类型对象

1). 通过列表创建Series对象

array = ["粉条", "粉丝", "粉带"]

# 如果不指定索引, 默认从0开始;

s1 = pd.Series(data=array)

print(s1)

# 如果不指定索引, 默认从0开始;

ss1 = pd.Series(data=array, index=['A', 'B', 'C'])

print(ss1)

输出:

0    粉条

1    粉丝

2    粉带

dtype: object

A    粉条

B    粉丝

C    粉带

dtype: object

2). 通过numpy的对象Ndarray创建Series;

n = np.random.randn(5)   # 随机创建一个ndarray对象;

s2 = pd.Series(data=n)

print(s2)

# 修改元素的数据类型;

ss2 = s2.astype(np.int)

print(ss2)

输出:

0   -1.649755

1    0.607479

2    0.943136

3   -1.794060

4    1.569035

dtype: float64

0   -1

1    0

2    0

3   -1

4    1

dtype: int64

3). 通过字典创建Series对象;

dict = {string.ascii_lowercase[i]:i for i in range(10)}

s3 = pd.Series(dict)

print(s3)

输出:

a    0

b    1

c    2

d    3

e    4

f    5

g    6

h    7

i    8

j    9

dtype: int64

5.Series基本操作

共同部分:

import pandas as pd

import numpy as np

import  string

array = ["粉条", "粉丝", "粉带"]

s1 = pd.Series(data=array)

print(s1)

输出:

0    粉条

1    粉丝

2    粉带

dtype: object

1). 修改Series索引.index

print(s1.index) #输出:RangeIndex(start=0, stop=3, step=1)

s1.index = ['A', 'B', 'C']

print(s1)

输出:

A    粉条

B    粉丝

C    粉带

dtype: object

2). Series纵向拼接.append

s1.index = ['A', 'B', 'C']

array = ["粉条", "粉丝", "粉带"]

# 如果不指定索引, 默认从0开始;

s2 = pd.Series(data=array)

s3 = s1.append(s2)

print(s3)

输出:

A    粉条

B    粉丝

C    粉带

0    粉条

1    粉丝

2    粉带

dtype: object

3). 删除指定索引对应的元素.drop(‘index’)

s3 = s3.drop('C')  # 删除索引为‘C’对应的值;

print(s3)

输出:

A    粉条

B    粉丝

0    粉条

1    粉丝

2    粉带

dtype: object

4). 根据指定的索引查找元素

print(s3['B'])   #粉丝

s3['B'] = np.nan #索引B处的值替换为缺失值

print(s3)

输出:

A     粉条

B    NaN

0     粉条

1     粉丝

2     粉带

dtype: object

5). 切片操作 — 同列表

print(s3[:2])  #显示前两个元素

print(s3[::-1]) #逆序

print(s3[-2:])  # 显示最后两个元素

输出:

A     粉条

B    NaN

dtype: object

-------------------------

2     粉带

1     粉丝

0     粉条

B    NaN

A     粉条

dtype: object

-------------------------

1    粉丝

2    粉带

dtype: object

6.Series运算

先设置两个Series对象:

import pandas as pd

import numpy as np

import  string

s1  = pd.Series(np.arange(5), index=list(string.ascii_lowercase[:5]))

s2  = pd.Series(np.arange(2, 8), index=list(string.ascii_lowercase[2:8]))

print(s1)

print(s2)

按照对应的索引进行计算, 如果索引不同,则填充为Nan;

1).加法add

print(s1 + s2)

print(s1.add(s2))

输出:

a    NaN

b    NaN

c    4.0

d    6.0

e    8.0

f    NaN

g    NaN

h    NaN

dtype: float64

2).减法sub

print(s1 - s2)

print(s1.sub(s2))

输出:

a    NaN

b    NaN

c    0.0

d    0.0

e    0.0

f    NaN

g    NaN

h    NaN

dtype: float64

3).乘法mul

print(s1 * s2)

print(s1.mul(s2))

输出:

a     NaN

b     NaN

c     4.0

d     9.0

e    16.0

f     NaN

g     NaN

h     NaN

dtype: float64

4).除法div

print(s1 / s2)

print(s1.div(s2))

输出:

a    NaN

b    NaN

c    1.0

d    1.0

e    1.0

f    NaN

g    NaN

h    NaN

dtype: float64

5).求中位数median

print(s1.median())

输出:

2.0

6).求和sum

print(s1.sum())

输出:

10

7).最大值max

print(s1.max())

输出:

4

8).最小值min

print(s1.min())

输出:

0

7.特殊的where方法

series中的where方法运行结果和numpy中完全不同

import pandas as pd

import numpy as np

import string

s1 = pd.Series(np.arange(5), index=list(string.ascii_lowercase[:5]))

print(s1)

输出:

a    0

b    1

c    2

d    3

e    4

dtype: int64

print(s1.where(s1 > 3))

大于3的显示,不大于3的为NaN

# 对象中小于3的元素赋值为10;

print(s1.where(s1 > 3, 10))

# 对象中大于3的元素赋值为10;

print(s1.mask(s1 > 3, 10))

[转载] python-pandas创建Series数据类型相关推荐

  1. Python——pandas模块—Series数据结构

    Python--pandas模块-Series数据结构 Python--pandas模块-Series数据结构 pandas Series 创建Series 没有指定索引列时,自动创建:0~~(N-1 ...

  2. Python pandas 里面的数据类型坑,astype要慎用

    背景 最近在项目处理数据时,对pandas里面的数据类型进行转换时(astype),产生了一些意外的情况,经过研究,对数据框里面的数据类型,又有了新的认识,分享出来供大家参考学习. 创建模拟数据 模拟 ...

  3. [转载] Python pandas数据分析中常用方法

    参考链接: Python | Pandas处理文本text数据 官方教程 读取写入文件 官方IO 读取 写入 read_csv to_csv read_excel to_excel read_hdf ...

  4. [转载] Python Pandas 转换unix时间戳

    参考链接: Python | Pandas处理日期和时间 使用pandas自带的pd.to_datetime把 unix 时间戳转为时间时默认是转换为 GMT标准时间 北京时间比这个时间还要加 8个小 ...

  5. Python Pandas库 Series.dt.tz_localize()和 Series.dt.tz_convert()的简单使用

    概念理解: **Series.dt.tz_localize()**方法的作用为: 官方解释:Localize tz-naive Datetime Array/Index to tz-aware Dat ...

  6. [转载] python 动态变量创建locals()

    参考链接: Python locals() 通过以下程序可以动态创建局部变量 names = locals() for i in range(3): names['n' + str(i) ] = i ...

  7. [转载] Python Pandas 的 all和any方法

    参考链接: Python 中的any和all 一.all方法 DataFrame.all(axis=0, bool_only=None, skipna=True, level=None) 作用:返回是 ...

  8. [转载] python pandas.read_csv读取大文件

    参考链接: Python | 使用pandas.read_csv()读取csv pandas.read_csv读取较大文件方法

  9. python pandas创建excel,Python Pandas操做Excel表格文件:建立新表格,追加数据

    前言: python操做excel表格文件的增删读写,通常须要用到的第三方库有xlwt,xlrd.xlrd负责读取excel,xlwt负责写入excel文件.这种操做方法比较繁琐,效率还不错,通俗易懂 ...

最新文章

  1. npm run buil构建后页面白屏_从Npm Script到Webpack,6种常见的前端构建工具对比
  2. 暑假N天乐【比赛篇】 —— 2019杭电暑期多校训练营(第四场)
  3. “中能融合杯”线下赛感悟
  4. css 带轮廓的圆,CSS3 圆球轮廓动画
  5. DC / OS中具有Java和数据库应用程序的服务发现
  6. 软工Hello World!团队第二周博客汇总
  7. java内部类实现方式_Java内部类详解
  8. Bootstrap响应式内嵌元素
  9. 【总结整理】写给非技术产品经理的技术能力要求----摘自《人人都是产品经理》...
  10. 如何查电脑ip地址_摄像机地址不对连不上网?教你快速更改IP地址
  11. Apache Server 修复两个高危缺陷
  12. 中债估值 收益率_收债
  13. 【Python网络爬虫实战篇】关于在青果教务网络管理系统爬取学生成绩的分析及代码展示——以郑州轻工业大学(zzuli)教务网络管理系统为例
  14. movs 数据传送指令_Introduction to CSAPP(十二):数据传送指令与 C 语言赋值
  15. 防止iOS自动识别数字为电话号码
  16. JoyOI1027 木瓜地
  17. crypto buuctf 凯撒?替换?呵呵!
  18. Centos Linux 可视化管理工具
  19. 质因子分解(Java)
  20. Tomcat 优化

热门文章

  1. 【CF 600E】Lomsat gelral(树上启发式合并, dsu on tree, 静态链分治,模板题)
  2. 【NOILinux】VmWare15使用技巧
  3. 【NOIP2010】【Luogu1179】数字统计(模拟,多位数分离)
  4. css样式让样式失效,如何让css样式失效
  5. JavaScript数据类型之算术运算符(7)
  6. 某学校有计算机主机1300台,《计算机应用基础》1300题一级考试练习题
  7. 集训8.16最小生成树讲解
  8. linux 7 路由命令,CentOS7路由、端口和服务排障常用命令
  9. 狂神设计模式笔记-工厂模式
  10. Codeforces Round #518 (Div. 2): E. Multihedgehog(模拟)