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 ...
随机推荐
- [RN] React Native 实现 FlatList上拉加载
FlatList可以利用官方组件 RefreshControl实现下拉刷新功能,但官方没有提供相应的上拉加载的组件,因此在RN中实现上拉加载比下拉刷新要复杂一点. 不过我们仍可以通过FlatList ...
- Processing设计Android APP(1) - 安装
1.安装环境: A. Android Studio B. Processing 3.4 (64bit) 首先,直接安装Android Studio,我这里版本是3.2.1. 然后,新建一个Sample ...
- GoCN每日新闻(2019-10-13)
GoCN每日新闻(2019-10-13) 1. 通过测试学习Go语言 https://mp.weixin.qq.com/s/MGT_yoP_NdWVGpwlAJFK4A2. go panic reco ...
- 第12组 Beta冲刺(2/5)
Header 队名:To Be Done 组长博客 作业博客 团队项目进行情况 燃尽图(组内共享) 由于这两天在修严重Bug,故项目没有新的进展,燃尽图没有变化 展示Git当日代码/文档签入记录(组内 ...
- JVM内存的划分
JVM内存的划分有五片: 1. 寄存器: 2. 本地方法区: 3. 方法区: 4. 栈内存: 5. 堆内存.
- MySQL explain使用
1.介绍 EXPLAIN 命令用于SQL语句的查询执行计划.这条命令的输出结果能够让我们了解MySQL 优化器(optimlzer)是如何执行SQL 语句的.这条命令并没有提供任何调整建议,但它能够提 ...
- 3ds Max学习日记(十二)——用Maxscript将每一帧动画导出成obj
参考链接: is there a way to through maxscript to make the time slider go to a spacific frame? 最近老师布置了要用m ...
- MySQL中的比较操作符<=>
对于=操作符,两个值被比较,结果是0(不相等)或者1(相等). 比较操作符<=>表示NULL安全的等价.这个比较操作符执行等价比较,和=操作符类似,但是如果两个操作数都是NULL,会返回1 ...
- 安装Nvidia显卡驱动、CUDA和cuDNN的方法(jsxyhelu整编)
Nvidia显卡驱动.CUDA和cuDNN一般都是同时安装的,这里整理的是我成功运行的最简单的方法. 一.Nvidia显卡驱动 1.1 在可以进入图形界面的情况下 直接在"软件和更新&quo ...
- js控制input框只能输入数字和一位小数点和小数点后面两位小数
<script language="JavaScript" type="text/javascript"> function clearNoNum( ...