python处理excel基本操作
python版本:3.6.2
编辑器:jupyter notebook 完整代码如下:
import numpy as np
import pandas as pd
df = pd.read_excel('D:\\python_test\\num.xls')
df.sort_values(by=['Number'])# 按Number列排序
# 使用merge函数实现excel表格的合并,合并方式为inner
df_inner = pd.merge(df, df1, how='inner')
#设置索引列
df.set_index('id')
【python处理excel基本操作】# 使用where对数据进行判断和分组,并使用group字段进行标记
df['group'] = np.where(df['Number'] > 50, 'high', 'low')# where条件语句:添加group列,若Number>50则为high,否则为low
# 对符合多个条件的数据进行分组标记
df.loc[(df['Author2'] == '刘宏伟') & (df['Number'] >= 50), 'sign']=1# 对Author2列等于刘宏伟且Number列大于等于50的数据标记为1
# 取单行数据
df.loc[1]
# 按索引区域提取
df.loc[0:5]
print(df)
运行结果截图:
# group和sign标记后
文章图片
# df.loc[1]
文章图片
# df.loc[0:5]
文章图片
补充:
# 条件筛选
df.loc[df['Number']== 51,['Author2','Number']]
文章图片
可能出现的报错1:报错798: FutureWarning: elementwise comparison failed;
returning scalar instead, but in the future will perform elementwise comparison result = getattr(x, name)(y)
可能出现的报错2:TypeError: invalid type comparison
无效。。。因为之前把51加了引号。。。‘51’为无效类型。。。只有str类型才加引号,例如'张三’。论基础知识的重要性......
# 条件筛选
df.loc[(df['Number']>66) | (df['Author2']== '刘宏伟'),['Author2','Number']]
文章图片
# 条件筛选并排序
df.loc[(df['Number']>66) | (df['Author2']== '刘宏伟'),['Author2','Number']].sort(['Number'])
文章图片
悲剧来了,报错了。。。AttributeError: 'DataFrame' object has no attribute 'sort'
【解决方案】把sort改为sort_values
文章图片
# 将所筛选字段Number列求和
df.loc[(df['Number']>66) | (df['Author2']== '刘宏伟'),['Author2','Number']].sort_values(['Number']).Number.sum()
文章图片
# 将所筛选字段Number列计数
df.loc[(df['Number']>66) | (df['Author2']== '刘宏伟'),['Author2','Number']].sort_values(['Number']).Number.count()
文章图片
文章图片
文章图片
文章图片
DataFrame的增删查改
文章图片
文章图片
文章图片
# 随机采样
df.sample(n=3)
# 对数据表进行描述性统计,小数位为2,并进行转置
df.describe().round(2).T
# 输出为excel格式
df.to_excel('D:\\python_test\\num.xlsx', sheet_name='practice')
# 输出为csv文件
df.to_csv('D:\\python_test\\num.csv')
推荐阅读
- python学习之|python学习之 实现QQ自动发送消息
- 逻辑回归的理解与python示例
- Java|Java OpenCV图像处理之SIFT角点检测详解
- python自定义封装带颜色的logging模块
- 事件处理程序
- 【Leetcode/Python】001-Two|【Leetcode/Python】001-Two Sum
- Python基础|Python基础 - 练习1
- Python爬虫|Python爬虫 --- 1.4 正则表达式(re库)
- Python(pathlib模块)
- python青少年编程比赛_第十一届蓝桥杯大赛青少年创意编程组比赛细则