使用pandas处理excel数据常用代码
使用pandas处理excel数据常用代码
读取数据
df = pd.read_excel('C:/Users/啊啊啊啊/Desktop/二次/提交/所有数据合并.xlsx')
对多个列字段相同的行进行去重
df.drop_duplicates(subset=["采购人","中标金额"],keep="first",inplace=True)#inplace=True表示对数据进行修改
转换日期字段为时间格式,浮点型格式
df.loc[:, "发布日期"] = pd.to_datetime(df_quanbu.loc[:, "发布日期"], errors='coerce')
df['中标金额'].astype('float64')
去除科学计数法显示
pd.options.display.float_format = '{:.10f}'.format
按照年,月,周对数据进行分组
df_year = df_quanbu.groupby(df_quanbu['发布日期'].dt.year)#通过更改year参数实现
求和函数,平均值也是一样的方法,换函数就行
yearDf = df_year.sum()
对某个字段求和
df_china = df['中标金额'].sum()
提取每年1-6月的数据,先提取所有1-6月数据,再按照年分组
dfyear_1_6 = df_quanbu[df_quanbu['发布日期'].dt.month.isin(np.arange(1, 7))]#arange(1, 7))表示包含【123456】不包含7
df_year_1_6 = dfyear_1_6.groupby(dfyear_1_6['发布日期'].dt.year)
打印每列的数据类型
df.dtypes
多个关键词数据筛选
df_华北 = df[df['省份地区'].str.contains('北京|天津|河北|山西|内蒙古')]
保留两位小数
df_china.round(2)
除法
df_xibei = df_xibei / df_china
去除该列最后两个字符,这里我是用来删除单位【元】的
df2['中标金额'] = df2['中标金额'].map(lambda x: str(x)[:-1])
提取某个时间段数据
#数据处理_时间筛选
open_day='2019-01-01'
close_day='2022-06-30'
con1=df['发布日期']>=open_day
con2=df['发布日期']<close_day
df2 = df[con1&con2]
绘制饼图
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False
# 构建序列
data1 = pd.Series({'西北':df_xibei,'华南':df_huanan,'西南':df_xinan,'华中':df_huazhong,'东北':df_dongbei,'华东':df_huadong,'华北':df_huabei})
# 将序列的名称设置为空字符,否则绘制的饼图左边会出现None这样的字眼
data1.name = ''
# 控制饼图为正圆
plt.axes(aspect = 'equal')
# plot方法对序列进行绘图
data1.plot(kind = 'pie', # 选择图形类型
autopct='%.1f%%', # 饼图中添加数值标签
radius = 4, # 设置饼图的半径
startangle = 180, # 设置饼图的初始角度
counterclock = False, # 将饼图的顺序设置为顺时针方向
title = '不同地区2021年度总销售额占比', # 为饼图添加标题
wedgeprops = {'linewidth': 1.5, 'edgecolor':'green'}, # 设置饼图内外边界的属性值
textprops = {'fontsize':10, 'color':'black'} # 设置文本标签的属性值
)
# 显示图形
plt.show()
循环批量处理文件夹内数据——数据统计
import pandas as pd
import os
import xlwt
import numpy as np
def main():
filename = os.listdir(r'C:/Users/啊啊啊啊/Desktop/二次/异常值/二次异常值校对/新兴')
for i in range(len(filename)):
try:
df = pd.read_excel('C:/Users/啊啊啊啊/Desktop/二次/异常值/二次异常值校对/新兴/' filename[i])
#对数据进行二次去重
df.drop_duplicates(subset=["采购人","中标金额"],keep="first",inplace=True)
#转换数据类型为 datetime64[ns]
df.loc[:, "发布日期"] = pd.to_datetime(df.loc[:, "发布日期"], errors='coerce')
#去除科学计数法显示
pd.options.display.float_format = '{:.10f}'.format
#统计每年销售额
df_year = df.groupby(df['发布日期'].dt.year)
yearDf = df_year.sum()
yearDf.drop(['Unnamed: 0','Unnamed: 0.1','Unnamed: 0.2','Unnamed: 0.2','Unnamed: 0.3','序号'], axis=1, inplace=True)
#统计每年上半年销售额
#提取1-6月数据
dfyear_1_6 = df[df['发布日期'].dt.month.isin(np.arange(1, 7))]
df_year_1_6 = dfyear_1_6.groupby(dfyear_1_6['发布日期'].dt.year)
df_1_6 = df_year_1_6.sum()
df_1_6.drop(['Unnamed: 0','Unnamed: 0.1','Unnamed: 0.2','Unnamed: 0.2','Unnamed: 0.3','序号'], axis=1, inplace=True)
yearDf.to_excel('C:/Users/啊啊啊啊/Desktop/二次/时间/time/' filename[i])
df_1_6.to_excel('C:/Users/啊啊啊啊/Desktop/二次/时间/time/上半年' filename[i])
print(filename[i] '********文件处理成功')
except Exception as e:
pass
continue
if __name__ == "__main__":
main()
批量拆分文件夹内所有2021年数据
import pandas as pd
import os
import xlwt
def main():
filename = os.listdir(r'c:\Users\啊啊啊啊\Desktop\二次\异常值\二次异常值校对\传统')
for i in range(len(filename)):
try:
df = pd.read_excel('C:/Users/啊啊啊啊/Desktop/二次/异常值/二次异常值校对/传统/' filename[i])
df.loc[:, "发布日期"] = pd.to_datetime(df.loc[:, "发布日期"], errors='coerce')
df_2021 =df.发布日期.apply(lambda x: x.year ==2021)
df_2021 = df[df_2021]
df_2021.to_excel('C:/Users/啊啊啊啊/Desktop/二次/2021_' filename[i])
print(filename[i] '********文件处理成功')
except Exception as e:
pass
continue
if __name__ == "__main__":
main()
批量合并文件夹内excel文件
import os
import pandas as pd
dir = r'C:\Users\啊啊啊啊\Desktop\二次\提交数据'
filenames = os.listdir(dir)
index = 0
dfs = []
for name in filenames:
print(index)
dfs.append(pd.read_excel(os.path.join(dir,name)))
index = 1 #为了查看合并到第几个表格了
df = pd.concat(dfs)
df.to_excel('C:/Users/啊啊啊啊/Desktop/二次/提交数据/所有数据合并.xlsx',index = False)
这篇好文章是转载于:学新通技术网
- 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
- 本站站名: 学新通技术网
- 本文地址: /boutique/detail/tanhhajika
系列文章
更多
同类精品
更多
-
photoshop保存的图片太大微信发不了怎么办
PHP中文网 06-15 -
word里面弄一个表格后上面的标题会跑到下面怎么办
PHP中文网 06-20 -
《学习通》视频自动暂停处理方法
HelloWorld317 07-05 -
photoshop扩展功能面板显示灰色怎么办
PHP中文网 06-14 -
Android 11 保存文件到外部存储,并分享文件
Luke 10-12 -
TikTok加速器哪个好免费的TK加速器推荐
TK小达人 10-01 -
微信公众号没有声音提示怎么办
PHP中文网 03-31 -
excel下划线不显示怎么办
PHP中文网 06-23 -
excel打印预览压线压字怎么办
PHP中文网 06-22 -
微信运动停用后别人还能看到步数吗
PHP中文网 07-22