广东网站建设类公司,wordpress上传图片压缩,wordpress迁移网站,wordpress 编辑器 图片上传安装pandas库 pip install pandas pandas库操作文件
已知在本地桌面有一名为Python开发岗位的csv文件(如果是excel文件可以做简单修改即可#xff0c;道理是通用的) 打开文件#xff1a;
打开文件并查看文件内容
from pandas import DataFrame
import pandas as pd
data_c…安装pandas库 pip install pandas pandas库操作文件
已知在本地桌面有一名为Python开发岗位的csv文件(如果是excel文件可以做简单修改即可道理是通用的) 打开文件
打开文件并查看文件内容
from pandas import DataFrame
import pandas as pd
data_csv pd.read_csv(D:\desk\Python开发岗位.csv,encoding ANSI)
data
运行结果如下 encoding的作用是为了在文本处理或文件操作中使用的字符编码设置。
保存csv文件
data.to_csv(D:\desk\Python开发岗位1.csv,encoding ANSI)
#data是你所要保存的变量名,encoding为了防止乱码
#此方法会保存序列如果不想保存序列则才有下列保存方式
data.to_csv(D:\desk\Python开发岗位1.csv,encoding ANSI,indexFalse)
缺失值处理
1dropna()删除数据中值为空的所在行
from pandas import DataFrame
import pandas as pd
data_csv pd.read_csv(D:\desk\Python开发岗位.csv,encoding ANSI)
data data_csv.dropna()
data
运行结果如下 2fillna()用其他值代替空值我一般采用代替
from pandas import DataFrame
import pandas as pd
data_csv pd.read_csv(D:\desk\Python开发岗位.csv,encoding ANSI)
data data_csv.fillna(?)
data
运行结果如下 3用前一个数据代替fillna(methodpad)
from pandas import DataFrame
import pandas as pd
data_csv pd.read_csv(D:\desk\Python开发岗位.csv,encoding ANSI)
data data_csv.fillna(methodpad)
data
运行结果如下会出现的情况是当缺失值是第一位时前方无数据可以用来填充 4用后一个数据代替fillna(methodbfill)
from pandas import DataFrame
import pandas as pd
data_csv pd.read_csv(D:\desk\Python开发岗位.csv,encoding ANSI)
data data_csv.fillna(methodbfill)
data
运行结果如下会出现的情况是当缺失值是最后一位时后方无数据可以用来填充 5用平均值来代替空值fillna(mean())
我自己觉得这种方法适用于例如成绩表因为mean取平均值要是int类型的数据所以下面就不进行演示
from pandas import DataFrame
import pandas as pd
data_csv pd.read_csv(D:\desk\Python开发岗位.csv,encoding ANSI)
data_csv.fillna(data_csv.mean())
重复值处理
做法是通过duplicated()查看是否有重复值如果有则通过电容屏_duplicates()方法进行删除 数据处理
这里要做的是将薪资拆分成最低薪资和最高薪资并用最低薪资进行排序
首先采用正则表达式将x-x千/月中的千/月利用替换成空值进行删除
import resalary_str 5千/月-10千/月
parts re.sub(r千/月, , salary_str).split(-)
parts 再用split函数进行切割
split 是字符串对象的一个方法用于将字符串分割成一个列表。- 是分割符意味着 split 方法会在每个 - 字符处将字符串分割成多个部分。
而排序则使用sort_values(by你想以哪一列为依据)注意sort默认排序是从小到大升序
from pandas import DataFrame
import pandas as pd
import re
data_csv pd.read_csv(D:\desk\Python开发岗位2.csv,encoding ANSI)
salary_column 薪资 # 根据您的CSV文件实际情况修改列名# 使用正则表达式替换千/月为空字符串
# 假设薪资的格式是数字-数字千/月
def parse_salary(salary_str):# 移除千/月并分割字符串parts re.sub(r千/月, , salary_str).split(-)if len(parts) 2:# 将字符串转换为整数并乘以1000因为千等于1000min_salary float (parts[0]) * 1000max_salary float (parts[1]) * 1000return min_salary, max_salaryelse:# 如果格式不正确返回NaNreturn None, None
data_csv[[最低薪资, 最高薪资]] pd.DataFrame(data_csv[salary_column].apply(parse_salary).tolist(), indexdata_csv.index)
data data_csv
data1data.sort_values(by最低薪资)
日期处理
当一个文件中日期格式不统一可能存在2023/1/8、20231021、10072022等情况
date_column 发布日期# 定义一个函数来解析不同格式的日期字符串
def parse_date(date_str):# 尝试不同的日期格式#将所有出现的可能都罗列出来formats [%Y%m%d,%d%m%Y,%Y/%m/%d,%m/%d/%Y] for fmt in formats:try:return pd.to_datetime(date_str, formatfmt)except ValueError:# 如果当前格式解析失败则继续尝试下一个格式continue# 如果所有格式都解析失败则返回原始字符串或Nonereturn None # 或者返回 date_str# 应用parse_date函数到发布日期列
data_csv[date_column] data_csv[date_column].apply(parse_date)
以上只列举了四种情况可根据自己的实际情况进行增加或删减 对于Python本人也只是初学欢迎各位学者一起讨论一起学习如果文章中有错误之处还请指正