Pandas 是 Python 语言的一个扩展程序库,用于数据挖掘和数据分析,同时也提供数据清洗功能。
pandas(panel data & data analysis),是基于 numpy(提供高性能的矩阵运算)专门用于数据分析的工具,是一个强大的分析结构化数据(表格数据)的工具集;
Pandas的操作是基于两种结构: Dataframe结构 和 Series结构
Dataframe每一列都为Series结构,多个Series组成Dataframe结构
Dataframe 构造方法
pandas.Dataframe( data, index, columns, dtype, copy)
data:数据(array-like 类型:可以是ndarray、series, map, lists, dict 等类型)。
index:行索引,如果不指定行索引—默认给一个0、1、2、3、… 这样的序号行索引。
columns:列索引 ,如果不指定列索引—默认给一个0、1、2、3、… 这样的序号列索引。
dtype:数据类型。
copy:拷贝数据,默认为 False。
以该Dataframe为基准
import pandas as pd
# 创建Dataframe结构
df = pd.Dataframe(
data=[
['zs', 19, 1],
['ls', 20, 1],
['ww', 19, 2]
],
index=['stu0', 'stu1', 'stu2'],
columns=['name', 'age', 'group']
)
print('df:n', df)
print('df:n', type(df))
结果:
df:
name age group
stu0 zs 19 1
stu1 ls 20 1
stu2 ww 19 2
df:
ndim维度 — Dataframe结构为二维
shape — 形状
size — 数据个数
dtypes ---- 返回每一列的数据类型 ---- 不同的列数类型可以不同
index ---- 返回Dataframe行索引
columns ---- 返回Dataframe列索引
values ----- 返回数据 , 类型为numpy.ndarray(数组)
print('ndim:', df.ndim)
print('ndim:', df.ndim)
print('shape:', df.shape)
print('size:', df.size)
# print('dtype:', df.dtype) # 'Dataframe' object has no attribute 'dtype' 没有该属性
print('dtypes:n', df.dtypes)
print('index:', df.index)
print('columns:', df.columns)
print('values:n', df.values)
print('values:n', type(df.values))
结果:
ndim: 2
shape: (3, 3)
size: 9
dtypes:
name object
age int64
group int64
dtype: object
index: Index(['stu0', 'stu1', 'stu2'], dtype='object')
columns: Index(['name', 'age', 'group'], dtype='object')
values:
[['zs' 19 1]
['ls' 20 1]
['ww' 19 2]]
values:
------------------------------------------------------------------------------------------------
Series 1、结构一维的数据 ----- 行维度的数据
Series 构造方法
pandas.Series( data, index, dtype, name, copy)
Serise的参数与Dataframe的参数相似:
data:一组数据(array-like 类型)。
index:数据索引标签,不指定默认从 0 开始。可指定array-like 类型需和data长度相同。
dtype:数据类型,默认会自己判断。
name:设置名称(str 类型),相当于Dataframe结构指定多列名称的Columns 变为单列的name。
copy:拷贝数据,默认为 False。
一维的数据 ----- 行维度的数据2、属性
以该数组为基准
se = df['name']
print('se:n', se)
print('se:n', type(se))
结果:
se:
stu0 zs
stu1 ls
stu2 ww
Name: name, dtype: object
se:
ndim维度 — Series结构为一维
shape — 形状
size — 数据个数
dtypes和dtype ---- 返回数据类型
index ---- 返回Series行索引
columns ---- 返回Series列索引
values ----- 返回数据 , 类型为numpy.ndarray(数组)
print('ndim:', se.ndim)
print('shape:', se.shape)
print('size:', se.size)
# print('itemsize:', se.itemsize) # 当前版本可能还有,但是未来要被删除!
print('dtype:', se.dtype) #
print('dtypes:', se.dtypes) # Series只有一列且内部的数据类型都是一样的,所以具有dtype
print('index:', se.index)
print('values:', se.values)
print('values:', type(se.values))
结果:
ndim: 1
shape: (3,)
size: 3
dtype: object
dtypes: object
index: Index(['stu0', 'stu1', 'stu2'], dtype='object')
values: ['zs' 'ls' 'ww']
values:



