[转载] python-pandas创建Series数据类型
参考链接: 创建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数据类型相关推荐
- Python——pandas模块—Series数据结构
Python--pandas模块-Series数据结构 Python--pandas模块-Series数据结构 pandas Series 创建Series 没有指定索引列时,自动创建:0~~(N-1 ...
- Python pandas 里面的数据类型坑,astype要慎用
背景 最近在项目处理数据时,对pandas里面的数据类型进行转换时(astype),产生了一些意外的情况,经过研究,对数据框里面的数据类型,又有了新的认识,分享出来供大家参考学习. 创建模拟数据 模拟 ...
- [转载] Python pandas数据分析中常用方法
参考链接: Python | Pandas处理文本text数据 官方教程 读取写入文件 官方IO 读取 写入 read_csv to_csv read_excel to_excel read_hdf ...
- [转载] Python Pandas 转换unix时间戳
参考链接: Python | Pandas处理日期和时间 使用pandas自带的pd.to_datetime把 unix 时间戳转为时间时默认是转换为 GMT标准时间 北京时间比这个时间还要加 8个小 ...
- Python Pandas库 Series.dt.tz_localize()和 Series.dt.tz_convert()的简单使用
概念理解: **Series.dt.tz_localize()**方法的作用为: 官方解释:Localize tz-naive Datetime Array/Index to tz-aware Dat ...
- [转载] python 动态变量创建locals()
参考链接: Python locals() 通过以下程序可以动态创建局部变量 names = locals() for i in range(3): names['n' + str(i) ] = i ...
- [转载] Python Pandas 的 all和any方法
参考链接: Python 中的any和all 一.all方法 DataFrame.all(axis=0, bool_only=None, skipna=True, level=None) 作用:返回是 ...
- [转载] python pandas.read_csv读取大文件
参考链接: Python | 使用pandas.read_csv()读取csv pandas.read_csv读取较大文件方法
- python pandas创建excel,Python Pandas操做Excel表格文件:建立新表格,追加数据
前言: python操做excel表格文件的增删读写,通常须要用到的第三方库有xlwt,xlrd.xlrd负责读取excel,xlwt负责写入excel文件.这种操做方法比较繁琐,效率还不错,通俗易懂 ...
最新文章
- npm run buil构建后页面白屏_从Npm Script到Webpack,6种常见的前端构建工具对比
- 暑假N天乐【比赛篇】 —— 2019杭电暑期多校训练营(第四场)
- “中能融合杯”线下赛感悟
- css 带轮廓的圆,CSS3 圆球轮廓动画
- DC / OS中具有Java和数据库应用程序的服务发现
- 软工Hello World!团队第二周博客汇总
- java内部类实现方式_Java内部类详解
- Bootstrap响应式内嵌元素
- 【总结整理】写给非技术产品经理的技术能力要求----摘自《人人都是产品经理》...
- 如何查电脑ip地址_摄像机地址不对连不上网?教你快速更改IP地址
- Apache Server 修复两个高危缺陷
- 中债估值 收益率_收债
- 【Python网络爬虫实战篇】关于在青果教务网络管理系统爬取学生成绩的分析及代码展示——以郑州轻工业大学(zzuli)教务网络管理系统为例
- movs 数据传送指令_Introduction to CSAPP(十二):数据传送指令与 C 语言赋值
- 防止iOS自动识别数字为电话号码
- JoyOI1027 木瓜地
- crypto buuctf 凯撒?替换?呵呵!
- Centos Linux 可视化管理工具
- 质因子分解(Java)
- Tomcat 优化
热门文章
- 【CF 600E】Lomsat gelral(树上启发式合并, dsu on tree, 静态链分治,模板题)
- 【NOILinux】VmWare15使用技巧
- 【NOIP2010】【Luogu1179】数字统计(模拟,多位数分离)
- css样式让样式失效,如何让css样式失效
- JavaScript数据类型之算术运算符(7)
- 某学校有计算机主机1300台,《计算机应用基础》1300题一级考试练习题
- 集训8.16最小生成树讲解
- linux 7 路由命令,CentOS7路由、端口和服务排障常用命令
- 狂神设计模式笔记-工厂模式
- Codeforces Round #518 (Div. 2): E. Multihedgehog(模拟)