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的更多相关文章

  1. Pandas 基础(2) - Dataframe 基础

    上一节我们已经对 Dataframe 的概念做了一个简单的介绍, 这一节将具体看下它的一些基本用法: 首先, 准备一个 excel 文件, 大致内容如下, 并保存成 .csv 格式. 然后, 在 ju ...

  2. 利用Python进行数据分析(8) pandas基础: Series和DataFrame的基本操作

    一.reindex() 方法:重新索引 针对 Series   重新索引指的是根据index参数重新进行排序. 如果传入的索引值在数据里不存在,则不会报错,而是添加缺失值的新行. 不想用缺失值,可以用 ...

  3. 利用Python进行数据分析(7) pandas基础: Series和DataFrame的简单介绍

    一.pandas 是什么 pandas 是基于 NumPy 的一个 Python 数据分析包,主要目的是为了数据分析.它提供了大量高级的数据结构和对数据处理的方法. pandas 有两个主要的数据结构 ...

  4. 利用Python进行数据分析(12) pandas基础: 数据合并

    pandas 提供了三种主要方法可以对数据进行合并: pandas.merge()方法:数据库风格的合并: pandas.concat()方法:轴向连接,即沿着一条轴将多个对象堆叠到一起: 实例方法c ...

  5. Python 数据分析(一) 本实验将学习 pandas 基础,数据加载、存储与文件格式,数据规整化,绘图和可视化的知识

    第1节 pandas 回顾 第2节 读写文本格式的数据 第3节 使用 HTML 和 Web API 第4节 使用数据库 第5节 合并数据集 第6节 重塑和轴向旋转 第7节 数据转换 第8节 字符串操作 ...

  6. Pandas基础学习与Spark Python初探

    摘要:pandas是一个强大的Python数据分析工具包,pandas的两个主要数据结构Series(一维)和DataFrame(二维)处理了金融,统计,社会中的绝大多数典型用例科学,以及许多工程领域 ...

  7. numpy&pandas基础

    numpy基础 import numpy as np 定义array In [156]: np.ones(3) Out[156]: array([1., 1., 1.]) In [157]: np.o ...

  8. Pandas 基础(1) - 初识及安装 yupyter

    Hello, 大家好, 昨天说了我会再更新一个关于 Pandas 基础知识的教程, 这里就是啦......Pandas 被广泛应用于数据分析领域, 是一个很好的分析工具, 也是我们后面学习 machi ...

  9. 基于 Python 和 Pandas 的数据分析(2) --- Pandas 基础

    在这个用 Python 和 Pandas 实现数据分析的教程中, 我们将明确一些 Pandas 基础知识. 加载到 Pandas Dataframe 的数据形式可以很多, 但是通常需要能形成行和列的数 ...

随机推荐

  1. deep_learning_Function_numpy_random.normal()

    numpy常用函数之random.normal函数 np.random.normal(loc=0.0, scale=1.0, size=None) 作用:   生成高斯分布的概率密度随机数 loc:f ...

  2. 计划任务 at,cron

    示例:每3小时echo和wall命令

  3. 解决tomcat控制台乱码+清除过期缓存条目后可用空间仍不足 - 请考虑增加缓存的最大空间问题

    一.乱码 1.打开Tomcat的目录,找到conf文件夹,一般修改server.xml中的编码集,改为utf-8即可 2.若server.xml中编码设置的就是utf-8,可以修改logging.pr ...

  4. python面试题--连续出现最大次数

    确实有段时间没怎么写python,手写还不上机是真的难受. 而且break 跳出循环最内一层的事情都要想一下才能写得出来. 题目如下: 寻找一个字符串最大连续出现次数,并放入字典中, s=" ...

  5. Python-multiprocessing-Process模块

    获取当前执行该文件的进程ID import os # 获取当前执行该文件的进程ID print("Process (%s) start..." % os.getpid()) mul ...

  6. CentOS下安装libjpeg库及编译GD库

    GD库明明安装了,可处理图片的时候还是报错 Fatal error: Call to undefined function imagecreatefromjpeg() .PHP安装后,默认的gd库不支 ...

  7. 【Python之路】异步IO

    线程:CPU基本执行单元,可以与同属一个进程的其他线程共享资源,线程是属于进程的. 进程:资源单元,进程一般由程序.数据集.进程控制块三部分组成.一个进程默认有一个主线程, GIL:用于在进程中对所有 ...

  8. VirtualbBox:UEFI环境下安装VirtualBox

    造冰箱的大熊猫@cnblogs 2018/12/18 1.问题 在一台新计算机上安装VirtualBox,启动虚拟机时出现“Kernel driver not installed (rc=-1908) ...

  9. TTTTTTTTTTTTTTTTTTT UVA 2045 Richness of words

    J - Richness of words Time Limit:500MS     Memory Limit:65536KB     64bit IO Format:%I64d & %I64 ...

  10. (考试大整理~)Xxy 的车厢调度

    这一题我以前研究过哈哈哈~ (train.cpp/c/pas) Description 有 一 个 火 车 站 , 铁 路 如 图 所 示 ,每辆火车从 A 驶入,再从 B 方向驶出,同时它的车厢可以 ...