python -pandas学习笔记

认识Pandas

  • Pandas是数据分析三剑客之一,是python的核心数据分析库
  • Pandas能够处理的数据类型

sql或者excel类似的数据
有序或无序的时间序列序列数据
带行或标签的矩阵数据
其它其它数据,统计数据,观测数据等

Pandas 的优势

强大,灵活,大小可变,处理浮点与非浮点数据的缺失数据,表示为NaN…

安装Pandas

第三方库安装

 pip install pandas 	

在读写excel时还需要xlrd和xlwt

pip install xlrd
pip install xlwt

Series对象

类似于python的列表
它是由数据,以及数据所对应的索引组成
series中可以存储 整数,浮点数, 字符串,python对象等多中数据类型l.
Series对象:

panads.Series(data,index=index)

举例:
修改默认索引

import pandas as pd

data = ['张三', '李四', '王五']
# index=[1, 2, 3] 默认索引从0开始 ,这里手动修改索引从1开始
s = pd.Series(data=data, index=[1, 2, 3])
print(s)
print("数据类型:", type(s))

手动添加索引:

import pandas as pd

data2 = [90, 99, 88]
index = ["张三", "王五", "李四"]
s = pd.Series(data=data2, index=index)
print(s)

Series的索引和值

位置索引-索引范围[0,N-1]
标签索引[索引名称]-获取多个标签索引使用[[标签索引1,标签索引2,…]]
切片索引 [start:stop:step]
获取Series的索引和值
————获取索引 s.index
————获取值 是s.values

import pandas as pd

data2 = [90, 99, 88]
index = ["张三", "王五", "李四"]
s = pd.Series(data=data2, index=index)
# 通过下标索引获取
print(s[0])
# 通过index 名称获取
print(s["张三"])
# 获取多个
print(s[["张三", "王五"]])
# 标签索引
print(s['张三':'李四'])
# 获取列表
print(s.index)
# 索引列表
print(list(s.index))
print(s.values)

DataFrame对象

Dataframe对象是Pandas库中的一种数据结构,类似于二维表,
由行和列组成
和Series一样支持多种数据类型
创建DataFrame对象
——pd.DataFrame(data,index,colums,dtype)

import pandas as pd

data = [["lan lan", "bless", 520], ["牛啊", "no", 500], ["滑稽", "run", 480]]
columns = ['名称', '单价', '数量']
df = pd.DataFrame(data=data, columns=columns)
print(df)
print(type(df))

import pandas as pd

data = {
    "名称": ['lan lan', '牛啊', '滑稽'],
    "单价": [320.9, 150.3, 1.5],
    "数量": [100, 50, 200]
}
df = pd.DataFrame(data=data)
print(df)

以上两个效果都一样,结果为:

        名称     单价   数量
0  lan lan  320.9  100
1       牛啊  150.3   50
2       滑稽    1.5  200

然后我们把data改为

data = {
    "名称": ['lan lan', '牛啊', '滑稽'],
    "单价": [320.9, 150.3, 1.5],
    "数量": [100, 50, 200],
    "公司": "1123公司"
}

运行结果为:

        名称     单价   数量      公司
0  lan lan  320.9  100  1123公司
1       牛啊  150.3   50  1123公司
2       滑稽    1.5  200  1123公司
序号 属性 描述
1 values 查看所有元素的值
2 dtypes 查看所有元素的类型
3 index 查看所有行名,重命名行名
4 columns 查看所有列名,重命名列名
5 T 行列数据转换
6 head 查看前N条数据,默认五条
7 tail 查看后N条数据,默认五条
8 shape 查看行数和列数shape[0]表示行,shape[1]表示列
9 info 查看索引,数据类型和内存信息

例子:

import pandas as pd

data = [["lan lan", "bless", 520], ["牛啊", "no", 500], ["滑稽", "run", 480]]
columns = ['名称', '单价', '数量']
df = pd.DataFrame(data=data, columns=columns)
print("查看所有元素的值:\n", df.values)
print("查看所有元素的类型:\n", df.dtypes)
print("查看所有的行名称:\n", list(df.index))
df.index = [1, 2, 3]
print("查看所有的行名称:\n", list(df.index))
print("查看列索引:\n", list(df.columns))

行列数据的转换

import pandas as pd

data = [["lan lan", "bless", 520], ["牛啊", "no", 500], ["滑稽", "run", 480]]
columns = ['名称', '单价', '数量']
df = pd.DataFrame(data=data, columns=columns)
# 规整格式
pd.set_option("display.unicode.east_asian_width",True)
new_df = df.T
print("查看前N条数据\n", df.head(1))
print("查看后N条数据\n", df.tail(1))
print("行", df.shape[0], "列", df.shape[1])
print("查看索引,数据类型,内存信息", df.info)

DataFrame的重要函数

函数 描述
describe() 查看每列的统计汇总信息,DataFrame类似
count() 返回每一列的非空值的个数
sum() 返回每一列的和,无法计算返回空值
max() 返回每一列的最大最大值
min() 返回每一列的最小值

举例:

import pandas as pd

data = [["lan lan", "bless", 520], ["牛啊", "no", 500], ["滑稽", "run", 480]]
columns = ['名称', '单价', '数量']
df = pd.DataFrame(data=data, columns=columns)
print(df.describe())
print(df.count())
print(df.sum())
print(df.max())
print(df.min())

你可能感兴趣的:(pandas,python,学习)