pandas_读取Excel并筛选特定数据

Posted hany-postq473111315

tags:

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

# C:UserslenovoDesktop总结Python
# 读取 Excel 文件并进行筛选

import pandas as pd

# 设置列对齐
pd.set_option("display.unicode.ambiguous_as_wide",True)
pd.set_option("display.unicode.east_asian_width",True)

# 读取工号姓名时段交易额,使用默认索引
dataframe = pd.read_excel(rC:UserslenovoDesktop总结Python超市营业额.xlsx,
                          usecols = [工号,姓名,时段,交易额])

# 打印前十行数据
dataframe[:10]
‘‘‘
   工号  姓名         时段  交易额
0  1001  张三   9:00-14:00    2000
1  1002  李四  14:00-21:00    1800
2  1003  王五   9:00-14:00     800
3  1004  赵六  14:00-21:00    1100
4  1005  周七   9:00-14:00     600
5  1006  钱八  14:00-21:00     700
6  1006  钱八   9:00-14:00     850
7  1001  张三  14:00-21:00     600
8  1001  张三   9:00-14:00    1300
9  1002  李四  14:00-21:00    1500
‘‘‘
# 跳过 1 2 4 行,以第一列姓名为索引
dataframe2 = pd.read_excel(rC:UserslenovoDesktop总结Python超市营业额.xlsx,
                           skiprows = [1,2,4],
                           index_col = 1)
‘‘‘注:张三李四赵六的第一条数据跳过
      工号      日期         时段  交易额      柜台
姓名                                               
王五  1003  20190301   9:00-14:00     800      食品
周七  1005  20190301   9:00-14:00     600    日用品
钱八  1006  20190301  14:00-21:00     700    日用品
钱八  1006  20190301   9:00-14:00     850  蔬菜水果
张三  1001  20190302  14:00-21:00     600  蔬菜水果
‘‘‘

# 筛选符合特定条件的数据
# 读取超市营业额数据
dataframe = pd.read_excel(rC:UserslenovoDesktop总结Python超市营业额.xlsx)

# 查看 5 到 10 的数据
dataframe[5:11]
‘‘‘
    工号  姓名      日期         时段  交易额      柜台
5   1006  钱八  20190301  14:00-21:00     700    日用品
6   1006  钱八  20190301   9:00-14:00     850  蔬菜水果
7   1001  张三  20190302  14:00-21:00     600  蔬菜水果
8   1001  张三  20190302   9:00-14:00    1300    化妆品
9   1002  李四  20190302  14:00-21:00    1500    化妆品
10  1003  王五  20190302   9:00-14:00    1000      食品
‘‘‘
# 查看第六行的数据
dataframe.iloc[5]
‘‘‘
工号             1006
姓名             钱八
时段      14:00-21:00
交易额            700
Name: 5, dtype: object
‘‘‘
dataframe[:5]
‘‘‘
   工号  姓名         时段  交易额
0  1001  张三   9:00-14:00    2000
1  1002  李四  14:00-21:00    1800
2  1003  王五   9:00-14:00     800
3  1004  赵六  14:00-21:00    1100
4  1005  周七   9:00-14:00     600
‘‘‘
# 查看第 1 3 4 行的数据
dataframe.iloc[[0,2,3],:]
‘‘‘
   工号  姓名         时段  交易额
0  1001  张三   9:00-14:00    2000
2  1003  王五   9:00-14:00     800
3  1004  赵六  14:00-21:00    1100
‘‘‘
# 查看第 1 3 4 行的第 1 2 列
dataframe.iloc[[0,2,3],[0,1]]
‘‘‘
   工号  姓名
0  1001  张三
2  1003  王五
3  1004  赵六
‘‘‘
# 查看前五行指定,姓名、时段和交易额的数据
dataframe[[姓名,时段,交易额]][:5]
‘‘‘
   姓名         时段  交易额
0  张三   9:00-14:00    2000
1  李四  14:00-21:00    1800
2  王五   9:00-14:00     800
3  赵六  14:00-21:00    1100
4  周七   9:00-14:00     600
‘‘‘
dataframe[:5][[姓名,时段,交易额]]
‘‘‘
   姓名         时段  交易额
0  张三   9:00-14:00    2000
1  李四  14:00-21:00    1800
2  王五   9:00-14:00     800
3  赵六  14:00-21:00    1100
4  周七   9:00-14:00     600
‘‘‘
# 查看第 2 4 5 行 姓名,交易额 数据 loc 函数
dataframe.loc[[1,3,4],[姓名,交易额]]
‘‘‘
   姓名  交易额
1  李四    1800
3  赵六    1100
4  周七     600
‘‘‘
# 查看第四行的姓名数据
dataframe.at[3,姓名]
# ‘赵六‘

# 查看交易额大于 1700 的数据
dataframe[dataframe[交易额] > 1700]
‘‘‘
   工号  姓名         时段  交易额
0  1001  张三   9:00-14:00    2000
1  1002  李四  14:00-21:00    1800
‘‘‘
# 查看交易额总和
dataframe.sum()
‘‘‘
工号                                                  17055
姓名      张三李四王五赵六周七钱八钱八张三张三李四王五赵六周七钱八李四王五张三...
时段      9:00-14:0014:00-21:009:00-14:0014:00-21:009:00...
交易额                                                17410
dtype: object
‘‘‘
# 某一时段的交易总和
dataframe[dataframe[时段] == 14:00-21:00][交易额].sum()
# 8300

# 查看张三在下午14:00之后的交易情况
dataframe[(dataframe.姓名 == 张三) & (dataframe.时段 == 14:00-21:00)][:10]
‘‘‘
   工号  姓名         时段  交易额
7  1001  张三  14:00-21:00     600
‘‘‘
# 查看日用品的销售总额
# dataframe[dataframe[‘柜台‘] == ‘日用品‘][‘交易额‘].sum()

# 查看张三总共的交易额
dataframe[dataframe[姓名].isin([张三])][交易额].sum()
# 5200

# 查看交易额在 1500~3000 之间的记录
dataframe[dataframe[交易额].between(1500,3000)]
‘‘‘
   工号  姓名         时段  交易额
0  1001  张三   9:00-14:00    2000
1  1002  李四  14:00-21:00    1800
9  1002  李四  14:00-21:00    1500
‘‘‘

2020-05-07

以上是关于pandas_读取Excel并筛选特定数据的主要内容,如果未能解决你的问题,请参考以下文章

pandas 筛选负数并替换

python利用pandas和xlrd读取excel,特征筛选删除0值超过99%的列

pandas数据分析

Pandas如何显示全部数据

pandas 如何对比判断数据是不是在excel表格中?

Pandas高级数据分析快速入门之数据筛选——分组排序筛选实践笔记