前言
提醒:
文章内容为方便作者自己后日复习与查阅而进行的书写与发布,其中引用内容都会使用链接表明出处(如有侵权问题,请及时联系)。
其中内容多为一次书写,缺少检查与订正,如有问题或其他拓展及意见建议,欢迎评论区讨论交流。
接 [爱尔兰杀菌剂数据分析_1]
接爱尔兰杀菌剂数据分析_1
代码非原创,摘抄整理自网络分享
python代码源文件
代码源文件
文章目录
代码
import pandas as pd # 导入pandas库,用于数据处理
import os # 导入os库,用于与操作系统交互
# 文件夹基本信息
folder_path = r'C:\Users\admin\Desktop\learn_on_my_own\爱尔兰杀菌剂数据分析\data' # 指定文件夹路径
file_list = os.listdir(folder_path) # 获取指定文件夹下的所有文件和文件夹列表
print("文件数量:" + str(len(file_list))) # 打印文件数量
print(file_list) # 打印文件和文件夹列表
# 计算各类文件的数量
file_types = {} # 创建一个空字典,用于存储各类文件的数量
for root, dirs, files in os.walk(folder_path): # 遍历指定文件夹及其所有子文件夹
for file in files: # 遍历每个文件夹中的文件
_, ext = os.path.splitext(file) # 分离文件名和扩展名
if ext not in file_types: # 如果扩展名不在字典中
file_types[ext] = 0 # 添加扩展名到字典,并初始化数量为0
file_types[ext] += 1 # 对应扩展名的文件数量加1
print("各类文件数量:") # 打印提示信息
print(file_types) # 打印各类文件的数量
# 查看文件实例
file_path = r'C:\Users\admin\Desktop\learn_on_my_own\python_Diantou\项目实战\爱尔兰杀菌剂数据分析\data\Arable_crops_2000_ac.xlsx' # 指定一个Excel文件路径
df = pd.read_excel(file_path) # 读取Excel文件内容到DataFrame对象
print(df.head()) # 打印DataFrame的前几行数据
print(df.shape) # 打印DataFrame的行数和列数
print(df.columns) # 打印DataFrame的列名
print(df.info()) # 打印DataFrame的详细信息,包括每列的数据类型和缺失值情况
运行结果
运行结果
知识总结
os
知识总结
os
模块是 Python 的标准库之一,提供了与操作系统进行交互的功能。它允许你执行与操作系统相关的任务,如文件操作、进程管理、进程通信等。以下是os
模块的一些主要功能:
文件操作
os.name
:返回操作系统的类型,如'posix'
、'nt'
、'java'
等。os.getcwd()
:返回当前工作目录的路径。os.chdir(path)
:改变当前工作目录到指定的路径。os.listdir(path)
:返回指定路径下的文件和目录列表。os.mkdir(path)
:创建单级目录。os.makedirs(path)
:创建多级目录。os.rmdir(path)
:删除单级空目录。os.removedirs(path)
:删除多级空目录。os.remove(path)
:删除文件。os.rename(src, dst)
:重命名文件或目录。os.stat(path)
:获取文件或目录的状态信息。os.path
:一个子模块,提供了一些用于处理文件路径的函数,如os.path.join()
、os.path.abspath()
、os.path.exists()
等。进程管理
os.system(command)
:运行shell命令。os.execvp(program, args)
:替换当前进程,执行新的程序。os.fork()
:在UNIX系统中创建新的进程(在Windows中不可用)。os.spawnl(mode, path, ...)
,os.spawnle(mode, path, ...)
,os.spawnlp(mode, path, ...)
,os.spawnlpe(mode, path, ...)
,
os.spawnv(mode, path, args)
,os.spawnve(mode, path, args, env)
,
os.spawnvp(mode, path, args)
,os.spawnvpe(mode, path, args, env)
:在UNIX和Windows系统中创建新进程。
进程通信os.pipe()
:创建一个管道,返回两个文件描述符(r, w),分别用于读和写。os.read(fd, n)
:从文件描述符fd中读取最多n个字节。os.write(fd, str)
:写入字符串到文件描述符fd。
权限和所有权os.chmod(path, mode)
:更改文件或目录的权限。os.chown(path, uid, gid)
:更改文件或目录的所有者。
其他功能os.environ
:一个字典,表示当前环境变量。os.getenv(key, default=None)
:获取环境变量。os.putenv(key, value)
:设置环境变量。os.umask(mask)
:设置默认的文件权限掩码。os.wait()
:等待子进程结束,返回一个元组(pid, status)
。os.kill(pid, sig)
:发送信号到进程。
跨平台兼容性
os
模块的设计考虑了跨平台兼容性,但在某些特定功能上,如进程管理,UNIX和Windows系统之间可能存在差异。因此,在使用特定功能时,需要考虑目标操作系统的支持情况。
六种数据类型
Python中有六种基本数据类型,它们分别是:
- 数字(Numbers)
- 字符串(Strings)
- 列表(Lists)
- 元组(Tuples)
- 集合(Sets)
- 字典(Dictionaries)
- 数字(Numbers)
Python支持多种数字类型,包括整数(int)、浮点数(float)、复数(complex)等。# 整数 a = 5 # 浮点数 b = 3.14 # 复数 c = 1 + 2j
- 字符串(Strings) 字符串是由字符组成的序列,可以使用单引号或双引号创建。
# 字符串 string1 = "Hello" string2 = 'World'
- 列表(Lists)
列表是一个有序的、可变的集合,可以存储重复的元素。# 列表 list1 = [1, 2, 3, 4, 5] list2 = ["apple", "banana", "cherry"]
- 元组(Tuples)
元组是一个有序的、不可变的集合,通常用于存储异构数据。# 元组 tuple1 = (10, 20, 30) tuple2 = ("one", "two", "three")
- 集合(Sets)
集合是一个无序的、可变的集合,用于存储不重复的元素。# 集合 set1 = {1, 2, 3, 4, 5} set2 = {"a", "b", "c"}
- 字典(Dictionaries)
字典是一个无序的、可变的集合,存储键值对。# 字典 dict1 = {"name": "John", "age": 25} dict2 = {1: "one", 2: "two", 3: "three"}
六种数据类型基本操作
六种基本数据类型的基本操作
- 数字(Numbers)
数字类型的基本操作包括算术运算、类型转换等。# 算术运算 a = 5 b = 3 sum_result = a + b # 加法 difference = a - b # 减法 product = a * b # 乘法 quotient = a / b # 除法 # 类型转换 int_to_float = float(a) # 整数转浮点数 float_to_int = int(b) # 浮点数转整数
- 字符串(Strings)
字符串的基本操作包括拼接、切片、格式化等。# 字符串拼接 string1 = "Hello" string2 = " World" concatenated = string1 + string2 # 字符串切片 sliced = concatenated[0:5] # 提取前5个字符 # 字符串格式化 name = "John" age = 25 formatted = f"My name is {name} and I am {age} years old."
- 列表(Lists)
列表的基本操作包括添加元素、删除元素、切片等。# 列表添加元素 list1 = [1, 2, 3] list1.append(4) # 在末尾添加元素 # 列表删除元素 list1.remove(2) # 删除元素2 # 列表切片 sliced_list = list1[1:3] # 提取索引1到2的元素
- 元组(Tuples)
元组的基本操作包括创建、解包、切片等。由于元组是不可变的,所以不能添加或删除元素。# 元组创建 tuple1 = (1, 2, 3) # 元组解包 a, b, c = tuple1 # 元组切片 sliced_tuple = tuple1[1:3] # 提取索引1到2的元素
- 集合(Sets)
集合的基本操作包括添加元素、删除元素、集合运算等。# 集合添加元素 set1 = {1, 2, 3} set1.add(4) # 集合删除元素 set1.remove(2) # 集合运算 set2 = {3, 4, 5} union_set = set1.union(set2) # 并集 intersection_set = set1.intersection(set2) # 交集 difference_set = set1.difference(set2) # 差集
- 字典(Dictionaries)
字典的基本操作包括添加键值对、删除键值对、访问值等。# 字典添加键值对 dict1 = {"name": "John"} dict1["age"] = 25 # 字典删除键值对 del dict1["age"] # 字典访问值 name = dict1["name"]
for root, dirs, files in os.walk(folder_path):
这段代码是Python中用于遍历文件目录的常用方式,具体解释如下:
os.walk(folder_path)
:这是一个生成器,用于遍历folder_path
指定的文件夹及其所有子文件夹。它会产生一个三元组(root, dirs, files)
。root
:这是一个字符串,表示当前正在遍历的文件夹的路径。dirs
:这是一个列表,包含了root
文件夹中所有的子文件夹名称(不包括路径)。files
:这是一个列表,包含了root
文件夹中所有的非文件夹文件名称(不包括路径)。 所以,整个for
循环的意思是:对于folder_path
指定的文件夹及其所有子文件夹,遍历每一个文件夹,并在每次迭代中获取该文件夹的路径(root
)、该文件夹下的所有子文件夹名称(dirs
)以及该文件夹下的所有文件名称(files
)。
这通常用于文件操作任务,如批量重命名、复制、移动或删除文件等。
_, ext = os.path.splitext(file)
这段代码是Python中用于分割文件名和扩展名的常用方式,具体解释如下:
os.path.splitext(file)
:这个函数用于分割文件名和扩展名。它接受一个文件名作为参数,返回一个元组,其中第一个元素是文件名(不包含扩展名),第二个元素是扩展名(包括点)。_
:这是一个常用的Python变量名,表示一个占位符,用于存储不需要使用的值。在这里,它接收os.path.splitext
返回的元组中的第一个元素,即不包含扩展名的文件名。由于这个值不被使用,所以用_
表示。ext
:这是一个变量,用于存储os.path.splitext
返回的元组中的第二个元素,即文件的扩展名。 所以,整个表达式的意思是:将file
变量的文件名分割为不包含扩展名的部分和扩展名部分,不包含扩展名的部分被忽略(用_
表示),而扩展名部分被存储在ext
变量中。
这通常用于需要根据文件扩展名进行特定操作的场合,比如只处理特定类型的文件等。