随笔分类 - Python
摘要:GitHub 上开源的必应壁纸 API 作为数据来源。 -- 1.开源地址 https://github.com/zenghongtu/bing-wallpaper -- 2.请求接口 https://bingw.jasonzeng.dev/ 一、接口使用说明 1.API 接口:https://bi
阅读全文
摘要:苦命的打工人 `Hider` 每天上班都需要打卡,现在需要统计近一段时间内的平均打卡时间。 ## 一、想法 - 第一想法:利用 `mean` 函数直接求平均,但实际得到的是所有时间的均值,并非时间的均值。 - 第二想法:将日期与时间进行拆分,只对时间求平均。 - 第三想法:求每一个时间与0点之间的时
阅读全文
摘要:Pandas.Series 对象和 DataFrame 的列数据提供了 cat、dt、str 三种属性接口(accessors),分别对应分类数据、日期时间数据和字符串数据。 通过这几个接口可以快速实现特定的功能,十分便捷。 今天先针对 dt 接口对时间模块进行学习。 一、构建测试数据集 # 创建测
阅读全文
摘要:一、介绍 zfill 函数用于在字符串的开头添加零,直到达到指定的长度。 如果 len 参数的值小于字符串的长度,则不执行填充。 具体使用语法为: str.zfill(len) 如果是整型、浮点型等数字类型,需要先通过 str() 函数转化为字符串类型,才可进一步操作。 二、实操 # 实例 numb
阅读全文
摘要:一、打印九九乘法表 1.方法一 # 九九乘法表 for i in range(1, 10): for j in range(1, i + 1): print(str(j), '*', str(i), '=', str(j * i), end='\t') print('') ''' 1 * 1 = 1
阅读全文
摘要:一、需求 需将“宽数据”转换为“长数据”。 二、实践 1.构建测试集 import pandas as pd import numpy as np # 创建测试集 df = pd.DataFrame({ 'Year':[2017, 2018, 2019, 2020, 2021], 'Name':['
阅读全文
摘要:一、安装 通过 pip 直接进行安装并激活。 # 下载安装 pip install jupyter_contrib_nbextensions # 添加工具栏 jupyter contrib nbextension install 安装完之后,打开 Jupyter Notebook 将可看到插件。 二
阅读全文
摘要:最近有个需求:将大量的 PDF 文档转换为多张图片 PNG ,遂诞生此需求。 经过搜寻,发现以下方法。 一、pdf2image.convert_from_path 事实上,pdf2image 只是一个包装器,真正的转换工具是 poppler。 1.安装 pip install pd2image -i
阅读全文
摘要:一、介绍 timedelta 类表示时间差,可以直接实例化,也可以由两个 datetime 类型的数据作差得到。 缘起于求两个时间差,并需要转换为特定的单位(天、小时、分钟等),遂产生此需求。 二、导入 导入具体模块为: from datetime import timedelta 参数为: # d
阅读全文
摘要:在 Python 中使用 stack/unstack/melt/pivot_talbe 等函数进行聚合之后,计算得到的结果具有多层索引。 一般情况下可以通过额外指定 columns 或者通过 reset_index() 可重置。 一、举个例子 import pandas as pd import n
阅读全文
摘要:一、空值 isna Pands 中 NaN(Not-A-Number) 视为空值,利用函数 isna 和 notna 进行判断。 注意:不要利用是否等于None判断是否为空! import pandas as pd pd.NA == None # False pd.isna(pd.NA) # Tru
阅读全文
摘要:一、介绍 add() 函数用于向调用者添加对象。 使用语法为: DataFrame.add(other, axis='columns', level=None, fill_value=None) 实际上等价于 dataframe + other 的直接使用相加语法。 区别在于支持使用 fill_va
阅读全文
摘要:一、介绍 箱线图也称箱须图、箱形图、盒图,用于反映一组或多组连续型定量数据分布的中心位置和散布范围。箱形图包含数学统计量,不仅能够分析不同类别数据各层次水平差异,还能揭示数据间离散程度、异常值、分布差异等等。 1977年,美国著名数学家 John W. Tukey 首先在他的著作 《Explorat
阅读全文
摘要:〇、判断数据框中非数值的取值 data.loc[data['score'].apply(lambda x: False if str(x).isdigit() else True), 'score'].values 一、isinstance 判断输入是否为整数或者浮点数,可利用 ininstance
阅读全文
摘要:一、os.popen()方法 1.使用语法 os.popen() 方法用于从一个命令打开一个管道。 os.popen(cmd).read() 获取执行后结果。 os.popen(command[, mode[, bufsize]]) # 使用的命令 # 模式权限:默认'r'或者'w' # 文件需要的
阅读全文
摘要:一、删除文件和目录 Python 中利用 os 模块对文件进行操作。 import os path = r'C:\Users\111\Desktop\test' os.chdir(path) os.listdir() file_path = os.path.join(path, '我.txt') #
阅读全文
摘要:日常工作中常常需要打印日志,进行查看、调试,有时打印日志很长而长度不一致的话,查阅起来难免没那么直观,遂诞生寻找控制打印长度的函数。例如:ljust、rjust、center等。 一、ljust、rjust、center方法 这3个方法都可以设定对齐长度,填充特定字符。 语法 String.ljus
阅读全文
摘要:源于生产上有多个零碎的 HDFS 小文件需要通过 Python 进行读取,遂产生需求。 屡经测试,除去真正 pd.read_csv 读取数据时间无法避免之外,一边读取数据存储为临时变量,一边进行 pd.concat 合并也造成大量开销。 # 读取数据 data = pd.DataFrame() fo
阅读全文
摘要:一、需求 将字符串(例如:2022-06-02)转换为时间对象类型。 二、实操 1.利用 time.strptime 解析 import time, datetime # 使用 time.strptime 方法解析日期字符串成为时间对象 time_str = '2022-06-02' time_tu
阅读全文