pandas基础,Serires,Dataframe
DataFrame
DataFrame是Pandas中的一个表格型的数据结构,包含有一组有序的列,每列可以是不同的值类型(数值、字符串、布尔型等),DataFrame即有行索引也有列索引,可以被看做是由Series组成的字典。
Series
它是一种类似于一维数组的对象,是由一组数据(各种NumPy数据类型)以及一组与之相关的数据标签(即索引)组成。仅由一组数据也可产生简单的Series对象
练习
import pandas as pd
import numpy as np
In [5]:
创建一个Series对象
s1 = pd.Series([4,6,-5,3])
[6]:
print(s1)
0 4
1 6
2 -5
3 3
dtype: int64
In [8]:
获取Series的值
s1.values#获取值
Out[8]:
array([ 4, 6, -5, 3], dtype=int64)
In [9]:
获取Series索引
s1.index#获取索引
Out[9]:
RangeIndex(start=0, stop=4, step=1)
In [10]:
指定索引创建Series对象
s2 = pd.Series([4.0,6.5,212,2.6],index=['a','b','c','d'])#指定索引
In [11]:
print(s2)
a 4.0
b 6.5
c 212.0
d 2.6
dtype: float64
In [12]:
根据Series索引取值
s2["a"]#根据索引取值
Out[12]:
4.0
In [15]:
s2[['c','d']]#取多个索引值
Out[15]:
c 212.0
d 2.6
dtype: float64
In [16]:
判断索引是否在Series
'c' in s2#判断索引是否在Series
Out[16]:
True
In [17]:
'e' in s2
Out[17]:
False
In [18]:
series可以看成一个定长的有序字典
#series可以看成一个定长的有序字典
dic1 = {"apple":5,"pen":'3',"applenpen":10}
s3 = pd.Series(dic1)
print(s3)#构建后顺序是一定的,不能改变
apple 5
pen 3
applenpen 10
dtype: object
In [20]:
DataFrame 构造
#DataFrame 构造
data = {'year':[2015,2016,2017,2018],
'income':[1000,2000,3000,4000],
'pay':[100,200,300,400]}
df1 = pd.DataFrame(data)
df1
Out[20]:
| year | income | pay | |
|---|---|---|---|
| 0 | 2015 | 1000 | 100 |
| 1 | 2016 | 2000 | 200 |
| 2 | 2017 | 3000 | 300 |
| 3 | 2018 | 4000 | 400 |
In [22]:
使用numpy构建dataframe
#使用numpy构建dataframe
df2 = pd.DataFrame(np.arange(12).reshape(3,4))
df2
'''
shape是查看数据有多少行多少列
reshape()是数组array中的方法,作用是将数据重新组织
'''
Out[22]:
| 0 | 1 | 2 | 3 | |
|---|---|---|---|---|
| 0 | 0 | 1 | 2 | 3 |
| 1 | 4 | 5 | 6 | 7 |
| 2 | 8 | 9 | 10 | 11 |
In [24]:
指定索引和表头(第一列内容)构建dataframe
#指定索引和表头(第一列内容)
df3 = pd.DataFrame(np.arange(12).reshape(3,4),index=['a','b','c'],columns=["金","木","水","火"])
df3
Out[24]:
| 金 | 木 | 水 | 火 | |
|---|---|---|---|---|
| a | 0 | 1 | 2 | 3 |
| b | 4 | 5 | 6 | 7 |
| c | 8 | 9 | 10 | 11 |
In [27]:
DataFrame的属性
#DataFrame的属性
df3.columns#列
#DataFrame的属性
df3.columns#列
Out[35]:
Index(['金', '木', '水', '火'], dtype='object')
In [28]:
Out[28]:
Index(['a', 'b', 'c'], dtype='object')
In [29]
df3.values#值,二位数组形式
Out[29]:
array([[ 0, 1, 2, 3],
[ 4, 5, 6, 7],
[ 8, 9, 10, 11]])
In [30]:
df3.describe
Out[30]:
<bound method NDFrame.describe of 金 木 水 火
a 0 1 2 3
b 4 5 6 7
c 8 9 10 11>
In [31]:
转置
#转置
df3.T
Out[31]:
| a | b | c | |
|---|---|---|---|
| 金 | 0 | 4 | 8 |
| 木 | 1 | 5 | 9 |
| 水 | 2 | 6 | 10 |
| 火 | 3 | 7 | 11 |
In [32]:
排序
#排序
df3.sort_index(axis=1)#axis=1是对列排序
Out[32]:
| 木 | 水 | 火 | 金 | |
|---|---|---|---|---|
| a | 1 | 2 | 3 | 0 |
| b | 5 | 6 | 7 | 4 |
| c | 9 | 10 | 11 | 8 |
In [33]:
df3.sort_index(axis=0)#axis=0是对行排序
Out[33]:
| 金 | 木 | 水 | 火 | |
|---|---|---|---|---|
| a | 0 | 1 | 2 | 3 |
| b | 4 | 5 | 6 | 7 |
| c | 8 | 9 | 10 | 11 |
In [34]:
#对某一列排序
df3.sort_index(by="金")
c:\users\wuzs\appdata\local\programs\python\python36-32\lib\site-packages\ipykernel_launcher.py:2: FutureWarning: by argument to sort_index is deprecated, please use .sort_values(by=...)
Out[34]:
| 金 | 木 | 水 | 火 | |
|---|---|---|---|---|
| a | 0 | 1 | 2 | 3 |
| b | 4 | 5 | 6 | 7 |
| c | 8 | 9 | 10 | 11 |
pandas基础,Serires,Dataframe的更多相关文章
- Pandas 基础(2) - Dataframe 基础
上一节我们已经对 Dataframe 的概念做了一个简单的介绍, 这一节将具体看下它的一些基本用法: 首先, 准备一个 excel 文件, 大致内容如下, 并保存成 .csv 格式. 然后, 在 ju ...
- 利用Python进行数据分析(8) pandas基础: Series和DataFrame的基本操作
一.reindex() 方法:重新索引 针对 Series 重新索引指的是根据index参数重新进行排序. 如果传入的索引值在数据里不存在,则不会报错,而是添加缺失值的新行. 不想用缺失值,可以用 ...
- 利用Python进行数据分析(7) pandas基础: Series和DataFrame的简单介绍
一.pandas 是什么 pandas 是基于 NumPy 的一个 Python 数据分析包,主要目的是为了数据分析.它提供了大量高级的数据结构和对数据处理的方法. pandas 有两个主要的数据结构 ...
- 利用Python进行数据分析(12) pandas基础: 数据合并
pandas 提供了三种主要方法可以对数据进行合并: pandas.merge()方法:数据库风格的合并: pandas.concat()方法:轴向连接,即沿着一条轴将多个对象堆叠到一起: 实例方法c ...
- Python 数据分析(一) 本实验将学习 pandas 基础,数据加载、存储与文件格式,数据规整化,绘图和可视化的知识
第1节 pandas 回顾 第2节 读写文本格式的数据 第3节 使用 HTML 和 Web API 第4节 使用数据库 第5节 合并数据集 第6节 重塑和轴向旋转 第7节 数据转换 第8节 字符串操作 ...
- Pandas基础学习与Spark Python初探
摘要:pandas是一个强大的Python数据分析工具包,pandas的两个主要数据结构Series(一维)和DataFrame(二维)处理了金融,统计,社会中的绝大多数典型用例科学,以及许多工程领域 ...
- numpy&pandas基础
numpy基础 import numpy as np 定义array In [156]: np.ones(3) Out[156]: array([1., 1., 1.]) In [157]: np.o ...
- Pandas 基础(1) - 初识及安装 yupyter
Hello, 大家好, 昨天说了我会再更新一个关于 Pandas 基础知识的教程, 这里就是啦......Pandas 被广泛应用于数据分析领域, 是一个很好的分析工具, 也是我们后面学习 machi ...
- 基于 Python 和 Pandas 的数据分析(2) --- Pandas 基础
在这个用 Python 和 Pandas 实现数据分析的教程中, 我们将明确一些 Pandas 基础知识. 加载到 Pandas Dataframe 的数据形式可以很多, 但是通常需要能形成行和列的数 ...
随机推荐
- netfilter/iptables全攻略
转:http://www.linuxso.com/linuxpeixun/10332.html 内容简介防火墙的概述iptables简介iptables基础iptables语法iptables实例案例 ...
- Eclispe造成的tomcat占用端口 无法启动 强制终止进程 转载
很多时候运行tomcat 的时候总是会提示tomcat 的端口被占用 但是任务管理器里面还找不到是哪个端口被占用了 因此很多人就重新配置tomcat 或者去修改tomcat的端口号 ,其实这么做太麻 ...
- thinkphp5 二维码生成 composer
进入extend文件夹 composer require endroid/qrcode 2.将二维码生成封装为服务 QrcodeServer.php代码如下: <?php /** * Creat ...
- Select,poll,epoll复用
Select,poll,epoll复用 1)select模块以列表的形式接受四个参数,分别是可读对象,可写对象,产生异常的对象,和超时设置.当监控符对象发生变化时,select会返回发生变化的对象列表 ...
- 【NOIP2017】小凯的疑惑
原题: 小凯手中有两种面值的金币,两种面值均为正整数且彼此互素.每种金币小凯都有 无数个.在不找零的情况下,仅凭这两种金币,有些物品他是无法准确支付的.现在小 凯想知道在无法准确支付的物品中,最贵的价 ...
- Linux( Ubantu ) 的简单使用
1.Linux常用的快捷键 Ctrl + Alt+ T --打开终端 Ctrl + Shift + C --复制 Ctrl + Shift + V --粘贴 Ctrl + Shift + A --光标 ...
- puppet完全攻略(二)让puppet代码支持vim高亮显示
puppet完全攻略(二)让puppet代码支持vim高亮显示 2012-06-10 13:33:01 标签:puppet viong puppet完全攻略 原创作品,允许转载,转载时请务必以超链接形 ...
- 洛谷-P2292-L语言(字典树)
链接: https://www.luogu.org/problem/P2292 题意: 标点符号的出现晚于文字的出现,所以以前的语言都是没有标点的.现在你要处理的就是一段没有标点的文章. 一段文章T是 ...
- idea 2017 破解方法
一.先进入Intellij IDEA的官网:https://www.jetbrains.com,下载安装 二.破解. 网上的破解方法较多,总结下来大概有下面几种办法供大家作为参考 声明:破解用于学习和 ...
- cookbook 10.1生成随机密码
任务: 随机地创造出新密码.比如,有时需要给新的用户账号分配新的密码. 解决方案: from random import choice import string def GenPasswd(leng ...