Pandas -----------------------基础知识(一)

目录

Series对象

属性和方法

布尔值列表获取Series对象中部分数据

运算

DateFrame对象

常用属性

常见方法

 运算

总结


Series对象

是DataFrame的列对象或者行对象

  • 生成Series对象
  • 生成索引
  • 使用元组创建Series对象
  • 使用字典创建Series对象

通过Pandas创建对象  自定义索引

import pandas as pd
# s1 = pd.Series(arr)
s1 = pd.Series(arr,index=['a','b','c','d','e','f','g','h','i'])
print(s1)
print(type(s1))

创建包含字符串、整数的Series对象

# s1 = pd.Series(['Lisa',18,'女']) -- 自动生成索引
s1 = pd.Series(['Lisa',18,'女'],index=['姓名','年龄','性别'])
print(s1)
print("-------------------------------------------")
print(type(s1))

使用元组创建Series对象

s1 =  pd.Series(('张三','李四'),index=['a','b'])
print(s1)
print("-------------------------------------------")
print(type(s1))

使用字典创建Series对象

s1 = pd.Series(
    {'姓名':'孙悟空',
     '技能':'火眼金睛',
     '师傅':'唐僧'
     }
    ,index =['姓名','师傅'])
print(s1)
print("-------------------------------------------")
print(type(s1))

属性和方法

常用属性

  • 查看对象值数量
  • 查看对象维度
  • 查看对象数据类型
  • 查看对象值
  • 获取对象索引
print('=================== 常用属性 ===================')
# 查看s对象值数量
print("size: ", s1.size)

# 查看s对象维度, 返回一个单个元素的元组, 元素个数代表维度数, 元素值代表值数量
print("shape: ", s1.shape)

# 查看s对象数据类型
print("dtype: ", s1.dtype)

# 获取s对象的数据值, 返回numpy的ndarray数组类型
print('values: ', s1.values)

# 获取s对象的索引
print('index: ', s1.index)

常用方法

  • 查看对象值数量
  • 查看对象前3个值 默认是五个
  • 查看对象后五个值
  • 获取对象的索引
  • 将对象转换成python列表
  • 将对象转换成df对象
  • 对象中数据的基础统计信息
  • 对象数据值去重 返回对象
  • 对象数据值去重 返回数组
  • 根据对象数据值排序,默认升序
  • 根据对象索引值排序,默认升序
  • 求对象不同值的数量 类似于分组计数
# 查看s对象不同值数量
print(s1.value_counts())
# 查看s对象前3个值, n默认等于5
print(s1.head(3))

# 查看s对象后5个值, n默认等于5
s1.tail()

# 获取s对象的索引
print(s1.keys())

# s对象转换成python列表
print(list(s1))

# s对象转换成df对象
print(s1.to_frame())
print(type(s1.to_frame()))

# s对象中数据的基础统计信息
print(s1.describe())
print('------------------------------')
# s对象最大值、最小值、平均值、求和值...
print(s1.max())
print(s1.min())
print(s1.mean())
print(s1.sum())

# s对象数据值去重, 返回s对象
print(s1.drop_duplicates())
print(type(s1.drop_duplicates()))
print('------------------')
# s对象数据值去重, 返回数组
print(s1.unique())
print(type(s1.unique()))
# 
# s对象数据值排序, 默认升序
print(s1.sort_values())
print('----------------------------------')
# print(s1.sort_values(ascending=False))

# s对象索引值排序, 默认升序
print(s1.sort_index())
print('----------------------------------')
# print(s1.sort_index(ascending=False))

布尔值列表获取Series对象中部分数据

import pandas as pd
# 1 加载并观察数据集

df = pd.read_csv('./data/a_scientists.csv')
df

ages = df['Age']
ages

#求高于平均年龄的人员信息

df[ages > ages.mean()]

df[df['Age'] > df['Age'].mean()]

不加df是一个布尔值列表

运算

ages * 2
# 等价于 ages + ages

# 将列表[1, 10, 100] 转成 Series对象 s2
s2 = pd.Series([1, 10, 100])
print(s2)
print('------------------------')
print(type(s2))

ages + s2

DateFrame对象

DataFrame是Pandas中的最基本的数据结构对象,简称df;可以认为df就是一个二维数据表,这个表有行有列有索引

  • 将 Series对象 通过 to_frame() 转成 df
  • 使用 列表 加 元组 返回 df
  •  使用 字典 返回 df
s2 = pd.Series(['张三', '李四', '王五'])
print(type(s2))
print('-------------------')
print(type(s2.to_frame()))

studentList = [
    (1, '张三', 18),
    (2, '李四', 14),
    (3, '王五', 19)
]

df3 = pd.DataFrame(studentList, columns=['编号', '姓名', '年龄'], index=['A', 'B', 'C'])
print(df3)
print('----------------')
print(type(df3))

dict1 = {
    "id" : [1, 2, 3],
    "name" : ['张三', '李四', '王五'],
    "city" : ['洛阳', '信阳', '安阳']
}

df4 = pd.DataFrame(dict1)
print(df4)
print('----------------')
print(type(df4))

常用属性

  • 查看维度, 返回元组类型 -> (行数, 列数), 元素个数代表维度数
  • 查看数据值个数, 行数*列数, NaN值也算
  • 查看数据值, 返回numpy的ndarray类型
  • 查看维度数
  • 返回列名和列数据类型
  • 查看索引值, 返回索引值对象
  • 查看列名, 返回列名对象
print('=============== 常用属性 ===============')
# 查看维度, 返回元组类型 -> (行数, 列数), 元素个数代表维度数
print(df.shape)

# 查看数据值个数, 行数*列数, NaN值也算
print(df.size)

# 查看数据值, 返回numpy的ndarray类型
print(df.values)
# print('---------------------------')
print(type(df.values))

# 查看维度数
print(df.ndim)

# 返回列名和列数据类型
print(df.dtypes)

# 查看索引值, 返回索引值对象
print(df.index)

# 查看列名, 返回列名对象
print(df.columns)

常见方法

  • 查看前5行数据
  • 查看后5行数据
  • 查看df的基本信息
  • 查看df对象中所有数值列的描述统计信息
  • 查看df对象中所有非数值列的描述统计信息
  • # exclude:不包含指定类型列
  • 查看df对象中所有列的描述统计信息
  • # include:包含指定类型列, all代表所有类型
  • 查看df的行数
  • 查看df各列的最小值
  • 查看df各列的非空值个数
  • 查看df数值列的平均值
print('=============== 常用方法 ===============')
# 查看前3行数据
print(df.head(3))
# 查看后3行数据
print(df.tail(3))

# 查看df的基本信息
print(df.info())

# 查看df对象中所有数值列的描述统计信息
print(df.describe())

# 查看df对象中所有非数值列的描述统计信息
# exclude:不包含指定类型列
print(df.describe(exclude=['int', 'float']))

# 查看df对象中所有列的描述统计信息
# include:包含指定类型列, all代表所有类型
print(df.describe(include='all'))

# 查看df的行数
print(len(df))

# 查看df各列的最小值
print(df.min())

# # 查看df各列的非空值个数
print(df.count())

# # 查看df数值列的平均值
print(df.mean())

 运算

import pandas as pd

# 加载数据 df
df = pd.read_csv('./data/a_scientists.csv')
df

df + df  
# (字符串类型是拼接  数值则是相加)  (用df+2会报错 因为字符串不能与数值相加)

df.index.isin([0, 2, 4])

df[df.index.isin([0, 2, 4])]

df['Age'].isin([77, 41, 66])

df[df['Age'].isin([77, 41, 66])]

总结

  • <s/df>表示s对象或df对象
  • <s/df>.size # 返回数据个数
  • <s/df>.shape # s返回(行数,),df返回(行数,列数)
  • <s/df>.dtypes # s返回数据类型,df返回列名和该列数据的类型
  • <s/df>.values # 返回全部值
  • <s/df>.index # 查看索引
  • <s/df>.head() # s返回前5个数据,df返回前5行数据
  • <s/df>.tail() # s返回后5个数据,df返回后5行数据
  • df.info() # 返回df的基本信息:索引情况,以及各列的名称、数据数量、数据类型;s对象没有这个函数
  • <s/df>.describe() # 返回s或df对象中所有数值类型数据的基础统计信息
  • df.describe(include='all') # 返回df对象中全部列数据的基础统计信息
  • s对象的判断表达式返回由布尔值构成的numpy.ndarray数组

  • 布尔值列表或数组获取s或df对象中部分数据的方法:返回True对应的(行)数据 在外面套一层

  • 运算时 字符会拼接 数值会进行计算 如果类型不匹配会报错  索引值不对应会返回NaN

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值