pandas的基础操作1

1.Serise对象

  1. pandas库中的一种数据对象,类似与以为数组

  1. 有一组数据及其对应的的标签(索引)所构成

  1. Series对象可以存储整数、浮点、字符串、Python对象等多种数据类型

  1. 如何创建Series对象?

  • pd.Series(data,index) # pd 是pandas的别名(import pandas as pd)

1.1 创建一个Series对象

import pandas as pd
data = ['小黑子', '你干嘛', '啊哈哈哈']
Series_data = pd.Series(data)
print(Series_data)

0 小黑子

1 你干嘛

2 啊哈哈哈

dtype: object

1.2 修改索引值

import pandas as pd
data = ['小黑子', '你干嘛', '啊哈哈哈']
index = ['菜1','菜2', '菜3'] # 想改成数字也是可以的,例如index = [1, 2, 3]
Series_data = pd.Series(data, index)
print(Series_data)

菜1 小黑子

菜2 你干嘛

菜3 啊哈哈哈

dtype: object

1.3 Series的索引

  1. 位置索引

  • 索引范围[0,N-1]

  1. 标签索引

  • [索引名称]

  • 获取多个索引使用[[索引1,索引2,...]]

  1. 切片索引

  • [start:stop:step]

  1. 获取Series的索引和值

  • 获取索引Series_data.index

  • 获取值Series_data.value

import pandas as pd
data = ['小黑子', '你干嘛', '啊哈哈哈']
index = ['菜1','菜2', '菜3'] # 想改成数字也是可以的,例如index = [1, 2, 3]
Series_data = pd.Series(data, index)
Series_data

菜1 小黑子

菜2 你干嘛

菜3 啊哈哈哈

dtype: object

# 位置索引
print(Series_data[0])

小黑子

# 标签索引
print(Series_data['菜2'])

你干嘛

# 获取多个标签
print(Series_data[['菜1', '菜2']])

菜1 小黑子

菜2 你干嘛

dtype: object

# 切片操作
print(Series_data[0:3:1])

菜1 小黑子

菜2 你干嘛

菜3 啊哈哈哈

dtype: object

# 获取索引Series_data.index
# 获取值Series_data.value
print(f"数据的索引为{Series_data.index},值为{Series_data.values}")

数据的索引为Index(['菜1', '菜2', '菜3'], dtype='object'),值为['小黑子' '你干嘛' '啊哈哈哈']

2.DataFrame对象

  1. DataFrame对象是pandas库种的一种数据结构,类似与二位表,由行列组成

  1. 与Series一样支持多种数据类型

  1. 创建DataFarme对象

  • pd.DataFrame(data,index,columns,dtype)

2.1 创建一个DataFrame对象

# 以列表的方式创建
import pandas as pd
data = [['棒棒糖',1.5 ,100], ['奶茶', 10, 200], ['饼干', 0.5, 1000]]
columns = ['名称', '单价', '数量']
data_df = pd.DataFrame(data, columns)
print(data_df)

0 1 2

名称 棒棒糖 1.5 100

单价 奶茶 10.0 200

数量 饼干 0.5 1000

# 以字典的形式创建
import pandas as pd
data = {
    '名称':['棒棒糖','奶茶','饼干'],
    '单价':[1.5,10,0.5],
    '数量':[100,200,1000]
}
data_df = pd.DataFrame(data)
print(data_df)

名称 单价 数量

0 棒棒糖 1.5 100

1 奶茶 10.0 200

2 饼干 0.5 1000

NOTE:以字典的形式创建需要保证列数(每行都有值)相同,否则会报错

2.2 DataFrame的重要属性

  1. values:查看所有元素的值

  1. dtypes:查看所有元素的名称

  1. index:查看所有行名、重命名行名

  1. columns:查看所有列名、重命名列名

  1. T:行列互换

  1. head:查看前N条数据(默认前5条)

  1. tail:查看后N条数据(默认后5条)

  1. shape:查看行数(shape[0]),列数(shape[1])

  1. info:参看索引、数据类型和内存信息

import pandas as pd
data = [['棒棒糖',1.5 ,100], ['奶茶', 10, 200], ['饼干', 0.5, 1000]]
columns = ['名称', '单价', '数量']
data_df = pd.DataFrame(data=data, columns=columns)
print(data_df)

名称 单价 数量

0 棒棒糖 1.5 100

1 奶茶 10.0 200

2 饼干 0.5 1000

# 查看所有元素
print(data_df.values)

[['棒棒糖' 1.5 100]

['奶茶' 10.0 200]

['饼干' 0.5 1000]]

# 查看所有元素的类型
print(data_df.dtypes)

名称 object

单价 float64

数量 int64

dtype: object

# 查看所有行名、重命名行名
print('所有的行名为:',data_df.index)
# 使用列表看的仔细些
print('所有的行名为:',list(data_df.index))

所有的行名为: RangeIndex(start=0, stop=3, step=1)

所有的行名为: [0, 1, 2]

# 修改行名
data_df.index = [1,2,3]
print('修改之后的所有的行名为:',list(data_df.index))

修改之后的所有的行名为: [1, 2, 3]

pd.set_option('display.unicode.east_asian_width',True) # 规则格式
# 行列互换
print('交换之前\n',data_df)

交换之前

名称 单价 数量

1 棒棒糖 1.5 100

2 奶茶 10.0 200

3 饼干 0.5 1000

new_data = data_df.T
print('交换之后\n',new_data)

交换之后

            1     2     3
名称  棒棒糖  奶茶  饼干
单价     1.5  10.0   0.5
数量     100   200  1000
# 查看前/后N条数据
print('查看前N条数据\n',data_df.head(1))
print('查看前N条数据\n',data_df.tail(1))

查看前N条数据

名称 单价 数量

1 棒棒糖 1.5 100

查看前N条数据

名称 单价 数量

3 饼干 0.5 1000

# 查看行列
print('行',data_df.shape[0],'列',data_df.shape[1])

行 3 列 3

2.3 DataFrame的重要函数

  • describe():查看每列的统计汇总信息

  • count():返回每列的非空值的个数

  • sum():返回每一列的和,无法返回空值

  • max():返回每列的最大值

  • min():返回每列的最小值

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

YoonJun

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值