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 ...
随机推荐
- WinDbg常用命令系列---.cmdtree
.cmdtree 简介 使用形式 .cmdtree cmdfile 参数 cmdfile命令文件,包含多个你需要的命令.必须是一个文本档 使用步骤 1.使用命令创建文本文件test.wl,使用以下示例 ...
- gj的zabbix客户端开机自启动设置
查看是否自启动 配置chkconfig 启动服务
- java.lang.IllegalAccessException: void #####.MyBroadcastReceiver.() is not accessible from jav
java.lang.IllegalAccessException: void #####.MyBroadcastReceiver.<init>() is not accessible fr ...
- Java基础教程(全代码解析)
字面量: 整数字面量为整型(int) 小数字面量为双精度浮点型(double) 数据类型: byte short int long float double 接下来代码展示理解 public clas ...
- C博客作业01--分支丶顺序结构
1.本章学习总结 1.1学习内容总结 分支结构 if else-if语句与switch语句都具有选择判断的功能,但是在使用时又有所区别,按题目的不同要求与题意选择不同语句. if else-if语句表 ...
- Python3菜鸟教程笔记
多行语句 同一行显示多条语句 Print 输出
- (9)Go指针
区别于C/C++中的指针,Go语言中的指针不能进行偏移和运算,是安全指针. 要搞明白Go语言中的指针需要先知道3个概念:指针地址.指针类型和指针取值. Go语言中的指针 任何程序数据载入内存后,在内存 ...
- 如果要对img里面的值做特殊处理,可以直接写方法
html <img :src="getMore('up')" alt=""> data里面定义的 one: 'http://p1.fishqc.ne ...
- InvalidSelectorError: Compound class names not permitted报错处理
InvalidSelectorError: Compound class names not permitted报错处理 环境:python3.6 + selenium 3.11 + chromed ...
- shell case例子
-- --