Python Pandas操作Excel 02

2.1 Pandas操作Excel


2.1.1 Series

index=[列表] 参数,设置自定义索引
Serises 是一维的数据表 (竖着看就是一条直线) ,即 多行一列。在 Python 中 应 以 列表的形式,进行多行单个数据的存储。

import pandas as pd

数据 = pd.Series(['牟泉禹','男',20,'2002-01-07'],index=['a','b','c','d'])

print(数据)

在这里插入图片描述

字典的数据提供 才是 使用Series最正确的用法。

import pandas as pd
字典 = {'姓名':'muquanyu','性别':'男','年龄':'20'}

数据 = pd.Series(['牟泉禹','男',20,'2002-01-07'],index=['a','b','c','d'])
数据2 = pd.Series(字典)
print(数据)
print(数据2)

因为字典的话,可以把 key 值默认的 作为索引。这样更加的规范和清晰。
在这里插入图片描述
pandas的数据 其实都可以根据 索引来进行简单的操作。

import pandas as pd
字典 = {'姓名':'muquanyu','性别':'男','年龄':'20'}

数据 = pd.Series(['牟泉禹','男',20,'2002-01-07'],index=['a','b','c','d'])
数据2 = pd.Series(字典)
print(数据)
print(数据2)
print("查询姓名:" + 数据2['姓名'])
数据2['姓名'] = 'abcd'
数据2['新增'] = '123456'
print("查询姓名:" + 数据2['姓名'])
print(数据2)
# 同时读取多条数据
print(数据2[['姓名','年龄']])

在这里插入图片描述

至少最基本的增删改查,还是可以做到的。


2.2.1 排序 和 判断数据是否空

sort_values('字段名') 根据提供的那一列,来进行排序。
sort_index() 直接根据 索引列来进行排序。

import pandas as pd

数据 = pd.DataFrame({"字段1":[1,3,2,6,5],"字段2":['a','b','c','','']})
数据.set_index('字段1')
数据.to_excel('1.xlsx',index=False)

表格 =  pd.read_excel('1.xlsx')
print(表格.sort_values('字段1'))

在这里插入图片描述
isnull() 和 isnotnull() 都是可以判断是否为空数据的方法

import pandas as pd

数据 = pd.DataFrame({"字段1":[1,3,2,6,5],"字段2":['a','b','c','','']})
数据.set_index('字段1')
数据.to_excel('1.xlsx',index=False)

表格 =  pd.read_excel('1.xlsx')

print(表格.sort_values('字段1'))
print()
print(表格.isnull())
print()
# print("True" if 表格['字段2'][4]=='' else 'Flase')
print(str(表格['字段2'][4]) == 'nan')

在这里插入图片描述


2.3.1 DataFrame

① DataFrame 是多个 Series 构成的,当然也可以 提供 字典二元列表 作为数据来构成 DataFrame 表。

import pandas as pd

s1 = pd.Series(['a','b','c'],name='姓名')
s2 = pd.Series(['男','女','男'],name='性别')
s3 = pd.Series([1,2,3],name='年龄')

df1 = pd.DataFrame({s1.name:s1,s2.name:s2,s3.name:s3})
print(df1)

df2 = pd.DataFrame({'姓名':['a','b','c'],'年龄':[1,2,3]})

print(df2)

如果是 二元列表的话,就是以每个元素 当作每一行数据 来构造 DataFrame表。

import pandas as pd

df3 = pd.DataFrame([['a','b','c'],[1,2,3]],columns=['字段1','字段1','字段3'])
print(df3)

在这里插入图片描述
② 根据索引和字段名 来定位某个数据或某列数据或某行数据。

数据表[字段名][索引] 获取到该字段那一索引的数据

数据表[字段名] 获取到该字段那一列的数据

import pandas as pd

print(df2['姓名'][1])
print(df2['姓名'])

在这里插入图片描述
数据表.loc[索引][字段名] 以索引为主,即行和列顺次的来确定 数据

数据表.loc[索引] 读取该索引那一行的数据

df2.loc[0] = [1,1]
print(df2.loc[0])
print(df2.loc[1]['年龄'])

在这里插入图片描述

数据表.iloc[索引][字段索引] 都以索引为主,但 以 行和列为顺序。

数据表.iloc[索引] 可以读取出该索引的那行数据

print(df2.iloc[0])
print(df2.iloc[2][1])

在这里插入图片描述


2.3.2 DataFrame 常用方法

在这里插入图片描述
数据.values 查看所有行数据 返回一个 二元列表
在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值