Pandas数据分析

Posted xmdykf

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Pandas数据分析 相关的知识,希望对你有一定的参考价值。

 

Series 和 DataFrame

 

Pandas库基本运用

  •   Series 包含一维索引的一组数据

  •   DataFrame 包含 index 和 column 两个轴

  •   Panel 一种三维数据容器

import pandas as pd
import numpy as np
from pandas import Series, DataFrame

Series

技术图片
# 1. 创建 Series 对象,从列表创建
s1 = pd.Series([100, 78, 59, 63])
# values 和 index 属性可以得到Series的数据和索引
s1.values
s1.index

# 2. 创建Series对象,从ndarry创建
# 指定的index必须与data长度相等
pd.Series(np.random.randn(5), index=[a, b, c, d, e])

# 3. 从字典创建
d = {a:0.12, b:0.33, c:-0.15}
pd.Series(d)

# 4. 将标量传入 data后,所有的索引对应的值都将会是该标量
pd.Series(2, index=[c, s])
View Code

  series的算术运算

   Series 在算术运算中 会自动对齐 不同索引的数据

技术图片
s1 = pd.Series([1, 2, 4, 5], index=[a, b, c, d])
s2 = pd.Series([2, 3, 5, 6], index=[c, a, b, d])
s1 + s2
View Code

  唯一值个数统计

   用 unique() 函数,其返回结果为一个数组,包含Series去重后的元素 跟 unique() 函数,相似的另一个函数是 value_counts(), 它可以查看每一个唯一元素频数

技术图片
s3 = pd.Series(data=[a, a, b, b])
s3.unique()
View Code

  转换数据类型  

   astype()函数可以转换数据类型

s4 = pd.Series(data=[1.3, 2.2])
s5 = s4.astype(float32)

 

DataFrame

技术图片
 1 # 1. DataFrame的创建
 2 d = {One: pd.Series([1., 2., 3.], index=[a, b, c]), two: pd.Series([1., 2., 4.], index=[a, b, d])}
 3 df = pd.DataFrame(d)
 4 
 5 d = pd.DataFrame(d, index=[a, b])
 6 
 7 d = pd.DataFrame(d, index=[a, b], columns=[two, three])
 8 # 通过 pd.index 和 pd.columns 可以快速得到DataFrame对象所有的索引和列名
 9 print(df.index)
10 print(df.columns)
11 
12 # 2. 筛选
13 df[df[One] > 1]
14 
15 df.loc[a]  # 通过标签选取某一行
16 df.loc[[a, b], One]
17 df.loc[[a, d], two]
18 df.loc[:, One]
View Code

 

Panel

技术图片
1 pnl = pd.Panel([[[10000,20000],[20000,23000],[40000,34000]],[[2,1],[0,0],[3,4]]], items=[营业额, 出差次数], major_axis=[1月,2月,3月], minor_axis=[张三,李四])
View Code

以上是关于Pandas数据分析 的主要内容,如果未能解决你的问题,请参考以下文章

python pandas multiindex片段

pandas 求两个时间差, 转化秒,判断时间差是否大于阈值

Python:用于元组的 Pandas DataFrame

超全超香,数据分析与数据挖掘最频繁使用代码合集来了

《Python机器学习及实践》----无监督学习之数据聚类

《Python机器学习及实践》----无监督学习之数据聚类