导入:

import pandas as pd

from pandas import Series,DataFrame

1、两个主要数据结构:Series和DataFrame

(1)Series是一种类似于一维数组的对象,由数据和标签组成;标签未传入则默认标签为0到N-1.

obj=Series([4,7,-5,3])

Out0 4

1 7

2 -5

3 3

obj.values=array([4,7,-5,3]);obj.index=Int64Index([0,1,2,3])

obj2=Series([4,7,-5,3],index=['d','b','a','c'])
obj2d 4

b 7

a -5

c 3

取值obj2['a']=-5;修改obj2['d']=6,则obj2[['c','a','d']]=

Outc 3

a -5

d 6

根据字典创建:sdata={'A':100,'B':200,'C':300};obj3=Series(sdata)(按键值有序排列)

obj3A 100

B 200

C 300

states=['B','C','D'];obj4=Series(sdata,index=states)

obj4B 200

C 300

D NaN(缺失值)

isnull和notnull函数用于检测缺失数据,pd.isnull(obj4)和pd.notnull(obj4)结果分别是:

OutB False True

C False True

D True False

算术运算中会自动对齐,obj3+obj4

OutA NaN

B 400

C 600

D NaN

对象本身和索引都有name属性;索引可以通过赋值方式修改。

(2)DataFrame是一个表格型数据结构,含有一组有序的列,每列可以是不同的值类型。

等长字典构建。data={'A':['a','b','c'],'B':[1,2,3],'C':[0.1,0.2,0.3]};frame=DataFrame(data)(有序排列ABC);指定顺序排列DataFrame(data,columns=['B','C','A']);指定索引frame2=DataFrame(data,columns=['B','C','A','D'],index=['one',two','three'])

Out  A B  C      B  C  A         B  C  A  D

0 a 1 0.1     1 0.1 a    one  1 0.1 a NaN

1 b 2 0.2     2 0.2 b    two  2 0.2 b NaN

2 c 3 0.3     3 0.3 c   three 3 0.3 c NaN

可以通过类似字典标记的方式或属性的方式,获取列为一个Series。frame2['A']或frame2.B;获取行用ix,frame2.ix['one'];列可以通过赋值方式修改,frame['D']=10或np.array(3.)。利用del删除列,如del frame2['D']。

嵌套字典构建,外层字典的键作为列,内层键作为行索引。

2、基本功能

(1)reindex创建一个适应新索引的新对象,根据新索引进行重排,某个索引值不存在,引入缺失值。fill_value填充空值,method=‘ffill'根据前一个值填充;‘bfill'后向填充。

(2)drop在指定轴上删除指定值的新对象。对于DataFrame,axis=0删除行,默认为行;axis=1删除列。

(3)利用标签的切片运算,末端是包含的。

3、算术运算和数据对齐

可以对不同索引的对象进行算术运算,相加的索引为索引的并集,不重叠的索引引入缺失值 。

python的pandas库学习笔记的更多相关文章

  1. pandas库学习笔记(二)DataFrame入门学习

    Pandas基本介绍——DataFrame入门学习 前篇文章中,小生初步介绍pandas库中的Series结构的创建与运算,今天小生继续“死磕自己”为大家介绍pandas库的另一种最为常见的数据结构D ...

  2. python 之Requests库学习笔记

    1.    Requests库安装 Windows平台安装说明: 直接以管理员身份打开cmd运行界面,使用pip管理工具进行requests库的安装. 具体安装命令如下: >pip instal ...

  3. pandas库学习笔记(一)Series入门学习

    Pandas基本介绍: pandas is an open source, BSD-licensed (permissive free software licenses) library provi ...

  4. Python之Pandas库学习(二):数据读写

    1. I/O API工具 读取函数 写入函数 read_csv to_csv read_excel to_excel read_hdf to_hdf read_sql to_sql read_json ...

  5. Python之Pandas库学习(一):简介

    官方文档 1. 安装Pandas windos下cmd:pip install pandas 导入pandas包:import pandas as pd 2. Series对象 带索引的一维数组 创建 ...

  6. Python之Pandas库学习(三):数据处理

    1. 合并 可以将其理解为SQL中的JOIN操作,使用一个或多个键把多行数据结合在一起. 1.1. 简单合并 参数on表示合并依据的列,参数how表示用什么方式操作(默认是内连接). >> ...

  7. 【python 】Requests 库学习笔记

    概览 实例引入 import requests response = requests.get('https://www.baidu.com/') print(type(response)) prin ...

  8. $《利用Python进行数据分析》学习笔记系列——IPython

    本文主要介绍IPython这样一个交互工具的基本用法. 1. 简介 IPython是<利用Python进行数据分析>一书中主要用到的Python开发环境,简单来说是对原生python交互环 ...

  9. numpy, matplotlib库学习笔记

    Numpy库学习笔记: 1.array()   创建数组或者转化数组 例如,把列表转化为数组 >>>Np.array([1,2,3,4,5]) Array([1,2,3,4,5]) ...

随机推荐

  1. 台达wplsoft2.34指令表

    常用: LD 载入 A 接点 LDI 载入 B 接点 AND 串联 A 接点 ANI 串联 B 接点 OR 并联 A 接点 ORI 并联 B 接点 ANB 串联回路方块 ORB 并联回路方块 MPS ...

  2. CBV源码分析

    1 在views中写一个类,继承View,里面写get方法,post方法 2 在路由中配置: url(r'^test/', views.Test.as_view()),实际上第二个参数位置,放的还是一 ...

  3. 【AGC030F】Permutation and Minimum DP

    题目大意 有一个长度为序列 \(a\),其中某些位置的值是 \(-1\). 你要把 \(a\) 补成一个排列. 定义 \(b_i=\min(a_{2i-1},a_{2i})\),求有多少种可能的 \( ...

  4. python3 实例方法、类方法和静态方法

    #!/usr/bin/env python3.6 #-*- coding:utf-8 -*- # class Person(object): city = 'Beijing' def __init__ ...

  5. [十二省联考2019]异或粽子(堆+可持久化Trie)

    前置芝士:可持久化Trie & 堆 类似于超级钢琴,我们用堆维护一个四元组\((st, l, r, pos)\)表示以\(st\)为起点,终点在\([l, r]\)内,里面的最大值的位置为\( ...

  6. 《STL源码剖析》----2.23 value_type()和__type_traits<>如何实现

    在2.13小节destory()第二版本接受两个迭代器找出元素类型,代码如下 其中value_type()判断出类型,__type_traits判断是否存在trivial destructor 在3. ...

  7. 把xlsx变成CSV

    import pandas as pd import numpy as np import matplotlib.pyplot as plt #df.to_excel('C:/Users/Asus/D ...

  8. myeclipse使用maven整合ssh配置

    最近写项目,由于公司需求,使用myeclispe来开发maven项目,关于maven就不再介绍,无论是jar包管理功能,还是作为版本构建工具,优点自然是很多,下面先贴出所需要的配置文件. maven所 ...

  9. 【关于Java移位操作符&按位操作符】

    一.java按位运算符(操作符) 这段时间偶尔看一下源码,会发现有很多很基础的java知识在脑海中已经慢慢的淡成不常用记忆,于是打算捡起来一些. 按位运算符是来操作整数基本数据类型中的单个“比特”(b ...

  10. HTTP协议6之状态码--转

    HTTP状态码,我都是现查现用. 我以前记得几个常用的状态码,比如200,302,304,404, 503. 一般来说我也只需要了解这些常用的状态码就可以了.  如果是做AJAX,REST,网络爬虫, ...