doupoa
一个不甘落后的热血青年!
Ping通途说

如何使用Python-Pandas处理Xlsx数据

导入读取文件

大赛使用的数据文件大多为xlsx格式,即Excel表格文件格式。在Python中有许多库可直接操作Excel文件,例如 pandas 库。

  1. 首先需要引入pandas、numpy库并分别命名pd、np方便后续代码引用,
import pandas as pd # 用于操作Excel文件
import numpy as np # 用于将读取后的数据转换为可操作的矩阵
  1. 读入文件,可选择将其写入缓存以便下次更快的读取
if os.path.exists('./cache.pkl'): # 是否存在缓存
    df = pd.read_pickle('./cache.pkl') # 读取缓存
else:
    # 否则读取文件
    df = pd.read_excel(r'C:\Users\Administrator\Desktop\data.xlsx')
    # 再写入缓存
    df.to_pickle('./cache.pkl')

若无需写入缓存直接使用以下语句直接读取即可

df = pd.read_excel(r'C:\Users\Administrator\Desktop\data.xlsx') 

数据处理

数据大多情况会受收集器外部环境所干扰,因此有时需要对异常数据进行处理。

  1. 筛选、替换值低于或高于某阈值的数据
df[df < 0] = np.nan # 此处将筛选出数据值小于0的值,并填充为空

df[df > 10] = 0 # 反之,需要筛选值大于10的可将其替换为0
  1. 删除空行
# 该段代码代表删除所有区域内含有数据为空的所有行
df.dropna(axis=0, how="any", inplace=True)

其中:

参数说明
axis 参数确定是否删除包含缺失值的行或列,0为行,1为列
how 参数当我们至少有一个NA时,确定是否从DataFrame中删除行或列,'all’时表示删除全是缺失值的行(列),'any’时表示删除只要含有缺失值的行(列)
thresh=n 表示保留至少含有n个非na数值的行
subset=[]定义要在哪些列中查找缺失值
inplace表示直接在原DataFrame修改
  1. 排序
df.sort_values(by=['OP'], ascending=True, inplace=True,
                na_position='first')
参数说明
by指定列名(axis=0或’index’)或索引值(axis=1或’columns’)
axis若axis=0或’index’,则按照指定列中数据大小排序;若axis=1或’columns’,则按照指定索引中数据大小排序,默认axis=0
ascending是否按指定列的数组升序排列,默认为True,即升序排列
inplace是否用排序后的数据集替换原来的数据,默认为False,即不替换
na_position{‘first’,‘last’},设定缺失值的显示位置

数据导出

df.to_excel('data.xlsx') # 导出至xlsx
df.to_csv('data.csv') # 导出至csv
赞赏

doupoa

文章作者

诶嘿

发表回复

textsms
account_circle
email

Ping通途说

如何使用Python-Pandas处理Xlsx数据
导入读取文件 大赛使用的数据文件大多为xlsx格式,即Excel表格文件格式。在Python中有许多库可直接操作Excel文件,例如 pandas 库。 首先需要引入pandas、numpy库并分别…
扫描二维码继续阅读
2022-07-31

Optimized by WPJAM Basic