pandas学习笔记


一、pandas是什么?

示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。

二、使用步骤

1.引入库

代码如下(示例):

import pandas as pd

2.series对象的创建

Series 是一种类似于 Numpy 中一维数组的对象,它由一组任意类型的数据以及一组与之相关的数据标签(即索引)组成。
默认数据标签为0 1 2 3 …… n

import pandas as pd
print(pd.Series([2,4,6,8]))
#0    2
#1    4
#2    6
#3    8
#dtype: int64

也可以用index函数定义数据标签

import pandas as pd
print(pd.Series([2,4,6],index=["x","y","z"]))
#x    2
#y    4
#z    6
#dtype: int64

也可以直接用字典转化为series数据

import pandas as pd
print(pd.Series({"x":2,"y":4,"z":6}))
#x    2
#y    4
#z    6
#dtype: int64

获取series数据与python中访问列表与字典数据一致

import pandas as pd
m = pd.Series({"a":2,"b":4,"c":6})
n = pd.Series({"a":10,"b":7,"c":9})
print(m["a"],n["b"])
#2 7

series数据相加,将相同标签相加。因为pandas具有强大的数据对齐功能

import pandas as pd
m = pd.Series({"a":2,"b":4,"c":6})
n = pd.Series({"a":10,"b":7,"c":9})
print(m+n)
#a    12
#b    11
#c    15
#dtype: int64

相减相乘相除都可以

import pandas as pd
m = pd.Series({"a":2,"b":4,"c":6})
n = pd.Series({"a":10,"b":7,"c":9})
print(m-n)
#a   -8
#b   -3
#c   -3
#dtype: int64
import pandas as pd
m = pd.Series({"a":2,"b":4,"c":6})
n = pd.Series({"a":10,"b":7,"c":9})
print(m*n)
#a    20
#b    28
#c    54
#dtype: int64
import pandas as pd
m = pd.Series({"a":2,"b":4,"c":6})
n = pd.Series({"a":10,"b":7,"c":9})
print(m/n)
print(n//m)
#a    0.200000
#b    0.571429
#c    0.666667
#dtype: float64
#a    5
#b    1
#c    1
#dtype: int64

如果有不同数据则会出现下列情况,NaN=not number因为没有数据,只能返回NaN

import pandas as pd
m = pd.Series({"a":2,"b":4,"d":6})
n = pd.Series({"a":10,"b":7,"c":9})
print(m+n)
#a    12.0
#b    11.0
#c     NaN
#d     NaN
#dtype: float64

想要返回数据0,则可以调用add()函数 fill_value=0指的是数据缺失时的默认值为0

import pandas as pd
m = pd.Series({"a":2,"b":4,"d":6})
n = pd.Series({"a":10,"b":7,"c":9})
print(m.add(n,fill_value=0))
#a    12.0
#b    11.0
#c     9.0
#d     6.0
#dtype: float64

相应的减法乘法除法也可以
减法sub(n,fill_value=0)
乘法mul(n,fill_value=0)
除法div(n,fill_value=0)

3.DateFrame数据

Series 是一维数据,而 DataFrame 是二维数据。DataFrame 类似一个表格,表格有行和列这两个维度,所以是二维数据。表格中的每一行或每一列都是一个 Series,这些 Series 就组成了 DataFrame。按行分,每一行数据加上上面的数据标签就是一个 Series。
创建DateFrame数据

import pandas as pd
m = pd.DataFrame({"a":[10,5],"b":[6,8],"c":[3,12]})
print(m)
#    a  b   c
#0  10  6   3
#1   5  8  12

因为我们的表格中有中文,中文占用的字符和英文、数字占用的字符不一样,因此需要调用pd.set_option()使表格对齐显示
DateFrame亦具有index索引

import pandas as pd
m = pd.DataFrame({"a":[10,5],"b":[6,8],"c":[3,12]},index=["0001","0002"])
print(m)
#       a  b   c
#0001  10  6   3`在这里插入代码片`
#0002   5  8  12

DateFrame的查找,也可以通过类似列表字典的方式查找

import pandas as pd
m = pd.DataFrame({"a":[10,5],"b":[6,8],"c":[3,12]})
print(m["a"])
#0    10
#1     5
#Name: a, dtype: int64

也可多列按查找数据顺序进行查找

import pandas as pd
m = pd.DataFrame({"a":[10,5],"b":[6,8],"c":[3,12]})
print(m[["b","a"]])
#   b   a
#0  6  10
#1  8   5

修改列
与字典修改方式相似,直接重新赋值即可

import pandas as pd
m = pd.DataFrame({"a":[10,5],"b":[6,8],"c":[3,12]})
print(m)
m["a"] = [8,9]
print(m)
#    a  b   c
#0  10  6   3
#1   5  8  12
#   a  b   c
#0  8  6   3
#1  9  8  12

新增列
直接将不纯正的标签进行赋值即可

import pandas as pd
m = pd.DataFrame({"a":[10,5],"b":[6,8],"c":[3,12]})
m["d"] = [8,9]
print(m)
#    a  b   c  d
#0  10  6   3  8
#1   5  8  12  9

删除列
删除列需要用到drop()方法
drop() 方法的第一个参数是要删除的列名或索引。axis 表示针对行或列进行删除,axis = 0 表示删除对应的行,axis = 1 表示删除对应的列,axis 默认为 0。
最后的 inplace = True 表示直接修改原数据,否则 drop() 方法只是返回删除后的表格,对原表格没有影响。

import pandas as pd
m = pd.DataFrame({"a":[10,5],"b":[6,8],"c":[3,12]})
m.drop("a",axis=1,inplace = True)
print(m)
#   b   c
#0  6   3
#1  8  12
  • 13
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值