Pandas的基础操作(一)——矩阵表的创建及其属性
Pandas的基础操作(一)——矩阵表的创建及其属性
(注:记得在文件开头导入import numpy as np以及import pandas as pd)
import pandas as pd
import numpy as np #创建一个Pandas序列 s = pd.Series([1, 3, 6, np.nan, 44, 1])
# print(s)
# 0 1.0
# 1 3.0
# 2 6.0
# 3 NaN
# 4 44.0
# 5 1.0
# dtype: float64 #创建一个矩阵式的DataFrame
dates = pd.date_range('', periods=6)
# print(dates)
# DatetimeIndex(['2019-07-10', '2019-07-11', '2019-07-12', '2019-07-13',
# '2019-07-14', '2019-07-15'],
# dtype='datetime64[ns]', freq='D') #行的标签是 dates ;列的标签是:columns
df = pd.DataFrame(np.random.randn(6, 4), index=dates, columns=['a', 'b', 'c', 'd'])
# print(df)
# a b c d
# 2019-07-10 -0.953463 -2.588401 1.680335 0.258889
# 2019-07-11 -2.183960 -1.559565 -0.119690 2.474845
# 2019-07-12 0.246754 0.237245 0.555891 -2.291064
# 2019-07-13 1.365473 -0.520804 2.351753 -0.650416
# 2019-07-14 0.160255 -0.665578 -1.330720 -0.502632
# 2019-07-15 1.427740 -0.386175 -0.102600 0.280338 #采用默认的行列标签方式,行和列的标签号都是从0开始
df1 = pd.DataFrame(np.arange(12).reshape((3,4)))
# print(df1)
# 0 1 2 3
# 0 0 1 2 3
# 1 4 5 6 7
# 2 8 9 10 11 #利用字典创建pandas矩阵表
df2 = pd.DataFrame({
'A':1.,
'B':pd.Timestamp(''),
'C':pd.Series(1, index=list(range(4)), dtype='float32'),
'D':np.array([3]*4, dtype='int32'),
'E':pd.Categorical(["test", "train", "test", "train"]),
'F':'foo'
}) # print(df2)
# A B C D E F
# 0 1.0 2019-07-10 1.0 3 test foo
# 1 1.0 2019-07-10 1.0 3 train foo
# 2 1.0 2019-07-10 1.0 3 test foo
# 3 1.0 2019-07-10 1.0 3 train foo
# #常用属性介绍(PS:因为是属性所以不用添加括号) #1 df.dtypes 查看每一列的数据类型
print(df2.dtypes)
# A float64
# B datetime64[ns]
# C float32
# D int32
# E category
# F object
# dtype: object #2 df.index 查看矩阵表所有每一行的标签号
print(df2.index)
# Int64Index([0, 1, 2, 3], dtype='int64') #3 df.columns 查看矩阵表所有每一列的标签号
print(df2.columns)
# Index(['A', 'B', 'C', 'D', 'E', 'F'], dtype='object') #4 df.values 查看矩阵表中所有的值
print(df2.values)
# [[1.0 Timestamp('2019-07-10 00:00:00') 1.0 3 'test' 'foo']
# [1.0 Timestamp('2019-07-10 00:00:00') 1.0 3 'train' 'foo']
# [1.0 Timestamp('2019-07-10 00:00:00') 1.0 3 'test' 'foo']
# [1.0 Timestamp('2019-07-10 00:00:00') 1.0 3 'train' 'foo']] #5 df.describe() 描述矩阵表中float int 数据类型的均值、方差等参数
print(df2.describe())
# A C D
# count 4.0 4.0 4.0
# mean 1.0 1.0 3.0
# std 0.0 0.0 0.0
# min 1.0 1.0 3.0
# 25% 1.0 1.0 3.0
# 50% 1.0 1.0 3.0
# 75% 1.0 1.0 3.0
# max 1.0 1.0 3.0 #6 df.T 将矩阵表转置
print(df2.T)
# A 1 ... 1
# B 2019-07-10 00:00:00 ... 2019-07-10 00:00:00
# C 1 ... 1
# D 3 ... 3
# E test ... train
# F foo ... foo #7 df.sort_index() 对矩阵表进行排序 #按照索引标签进行排序,axis=1 --> 行位置不变,列位置变化,ascending=False,进行反排序
print(df2.sort_index(axis=1, ascending=False))
# F E D C B A
# 0 foo test 3 1.0 2019-07-10 1.0
# 1 foo train 3 1.0 2019-07-10 1.0
# 2 foo test 3 1.0 2019-07-10 1.0
# 3 foo train 3 1.0 2019-07-10 1.0 #按照索引标签进行排序,axis=0 --> 行位置变化,列位置不变,ascending=False,进行反排序
print(df2.sort_index(axis=0, ascending=False))
# A B C D E F
# 3 1.0 2019-07-10 1.0 3 train foo
# 2 1.0 2019-07-10 1.0 3 test foo
# 1 1.0 2019-07-10 1.0 3 train foo
# 0 1.0 2019-07-10 1.0 3 test foo #8 df.sort_values() 根据矩阵表中的值进行排序
print(df2.sort_values(by='E')) #对第"E"列的值进行排序
# A B C D E F
# 0 1.0 2019-07-10 1.0 3 test foo
# 2 1.0 2019-07-10 1.0 3 test foo
# 1 1.0 2019-07-10 1.0 3 train foo
# 3 1.0 2019-07-10 1.0 3 train foo
Pandas的基础操作(一)——矩阵表的创建及其属性的更多相关文章
- [SQL基础教程]1-4 SQL 表的创建
[SQL基础教程]1-4 SQL 表的创建 创建数据库 语法 CREATE DATABASE <数据库名称> // example CREATE DATABASE shop; 创建表 语法 ...
- MySql数据库基础操作——数据库、用户的创建,表的制作、修改等
MySql 是一款使用便捷.轻量级的数据库.因为他体积小.速度快.安装使用简单.开源等优点,目前是使用最广泛的数据库.目前位于Oracle甲骨文公司旗下.那今天我们就来介绍一下数据库的基本操作.具体介 ...
- Django day08 多表操作 (一) 多表模型创建
多表模型创建分析:1)作者表:一个作者有姓名和年龄2)作者信息表: 有作者就有信息,点击作者的名字可以查询他的电话和地址, 作者表对应作者信息表,所以他们之间是一对一对的关系3)出版社表: 出版社有对 ...
- 3.0:pandas【基础操作】
pandas 是基于numpy构件的强大的数据处理模块,其核心的数据结构有两个:Series 与 DataFrame 一:Series Series 是一种类似于表的东西,拥有索引(index)与其对 ...
- Python数据分析之pandas学习(基础操作)
一.pandas数据结构介绍 在pandas中有两类非常重要的数据结构,即序列Series和数据框DataFrame.Series类似于numpy中的一维数组,除了通吃一维数组可用的函数或方法,而且其 ...
- MYSQL基础操作之单表的增删改查
一.添加数据. -- 1.创建表,并插入一定的数据. CREATE TABLE STUDENT( ID INT, USERNAME ), SERVLET INT, JSP INT, ADDRESS ) ...
- (5)opencv的基础操作和矩阵的掩模操作
不懂的,可以简单,看看这个网址:https://blog.csdn.net/xiongwen_li/article/details/78503491 图片放到了桌面,所以,图片的路径就是桌面了,剩余的 ...
- pandas 学习 第2篇:Series -(创建,属性,转换和索引)
序列(Series)是由一组数据(各种NumPy数据类型),以及一组与之相关的数据标签(索引)组成,序列不要求数据类型是相同的. 序列是一个一维数组,只有一个维度(或称作轴)是行(row),在访问序列 ...
- 小白学 Python 数据分析(5):Pandas (四)基础操作(1)查看数据
在家为国家做贡献太无聊,不如跟我一起学点 Python 人生苦短,我用 Python 前文传送门: 小白学 Python 数据分析(1):数据分析基础 小白学 Python 数据分析(2):Panda ...
随机推荐
- 使用vault pki engine 方便的管理证书
vault 是一个很方便的secret .敏感数据管理工具,当前的版本已经包含了UI,使用起来很方便 以下演示一个简单的pki 管理 项目使用docker-compose 运行,为了简单使用单机开发模 ...
- less简介及其编译原理
一.less环境安装 ①首先需要在电脑上安装nodejs,一般会内置npm,利用以下命令可以检测: ②利用npm在线安装less,运行 npm install –g less ③查看是否安装成功,L ...
- 【JZOJ6206】【20190610】二分图边染色
题目 对一个二分图的边染色,满足有相同端点的边的颜色一定不同; 设最优染色为\(C\) ,你的染色为\(X\),只需要满足$ X \le 2^ {\lceil log C \rceil }$ ...
- CSP内容安全策略总结及如何抵御 XSS 攻击
跨域脚本攻击 XSS 是最常见.危害最大的网页安全漏洞.为了防止它们,要采取很多编程措施,非常麻烦.很多人提出,能不能根本上解决问题,浏览器自动禁止外部注入恶意脚本?这就是"网页安全政策&q ...
- C Primer Plus--位操作
位字段 bit field 位字段是一个signed int或者unsigned int中一组相邻的位.位字段由一个结构声明建立,该结构声明为每个字段提供标签,并决定字段的宽度. struct p { ...
- Redis 下载 安装
Redis 官网 https://redis.io/ github 主页 https://github.com/antirez/redis 下载页面 https://redis.io/download ...
- Apache Flink - 架构和拓扑
Flink结构: flink cli 解析本地环境配置,启动 ApplicationMaster 在 ApplicationMaster 中启动 JobManager 在 ApplicationMas ...
- 集合类 collection接口 ArrayList
数组: 存储同一种数据类型的集合容器.数组的特点:1. 只能存储同一种数据类型的数据.2. 一旦初始化,长度固定. 3. 数组中的元素与元素之间的内存地址是连续的. : Object类型的数组可以存储 ...
- Web前端开发规范 之html命名规范
1.文件名称命名规则 统一用小写的英文字母.数字和下划线,不得包含汉字空格和特殊符号 2.索引文件命名 一般用index为名字 如index.html index.jsp 3.各子页面的命名规则 ...
- server2003 IIS6.0 网站不可用
事件 ID ( 487 )的描述(在资源( Zend Optimizer )中)无法找到.本地计算机可能没有必要的注册信息或消息 DLL 文件来从远程计算机显示消息.您可能可以使用 /AUXSOURC ...