首页 > 其他分享 >大数据——重复清洗

大数据——重复清洗

时间:2024-03-25 23:13:56浏览次数:28  
标签:engine idx 重复 column df result pd 清洗 数据

import pandas as pd
from sqlalchemy import create_engine

# 从数据库中读取结果表数据到 DataFrame 中
engine = create_engine('mysql+pymysql://root:wwsa20030207@localhost/python_bigdata')
result_df = pd.read_sql('SELECT * FROM result_with_dimension', con=engine)

# 确定重复记录并进行清洗
duplicate_records = result_df[result_df.duplicated(subset=['地域', '成果名称'], keep=False)]  # 找出重复记录

for idx, row in duplicate_records.iterrows():
    # 保留一条记录
    if idx == duplicate_records.index[0]:
        continue  # 跳过第一条记录,作为保留的记录

    # 补充独有字段内容
    for column in result_df.columns:
        if pd.isna(result_df.loc[idx, column]) and not pd.isna(row[column]):
            result_df.at[idx, column] = row[column]

# 删除其余记录
result_df.drop_duplicates(subset=['地域', '成果名称'], keep='first', inplace=True)

# 将处理后的数据写入 MySQL 数据库
result_df.to_sql('result_cleaned', con=engine, if_exists='replace', index=False)

# 关闭连接
engine.dispose()

标签:engine,idx,重复,column,df,result,pd,清洗,数据
From: https://www.cnblogs.com/lin513/p/18095621

相关文章

  • 大数据——合并表
    importpandasaspdfromsqlalchemyimportcreate_engine#从数据库中读取已经合并的数据到DataFrame中,假设这里的数据已经合并并写入到了名为resulttable的表中engine=create_engine('mysql+pymysql://root:wwsa20030207@localhost/python_bigdata')result_df=pd.......
  • 大数据——调用百度地图接口进行规范
    importurllib.request,urllib.parse,urllib.errorimportjsonimporthashlibimportnumpyasnpimportpandasaspdMyAK=''MySK=''lat=0.0lng=0.0#处理得到urldefget_url(name):#GET请求http://api.map.baidu.com/geocoding/v3/?add......
  • 大数据——增加行政区编码列
    importpandasaspdfromsqlalchemyimportcreate_engine#从数据库中读取结果表数据到DataFrame中engine=create_engine('mysql+pymysql://root:wwsa20030207@localhost/python_bigdata')result_df=pd.read_sql('SELECT*FROMresult_with_dimension',c......
  • 大数据——数据下钻到省市县
    importurllib.request,urllib.parse,urllib.errorimportjsonimporthashlibimportnumpyasnpimportpandasaspdMyAK=''MySK=''lat=0.0lng=0.0#处理得到urldefget_url(name):#GET请求http://api.map.baidu.com/geocoding/v3/?add......
  • 大数据——补充关键词
    importpandasaspdimportnltkfromnltk.tokenizeimportword_tokenizefromnltk.corpusimportstopwordsfromnltk.stemimportPorterStemmerfromnltk.probabilityimportFreqDist#下载停用词列表(如果未下载的话)nltk.download('stopwords')df=pd.read_csv(&......
  • 数据库 char 与 varchar 的区别
     数据库内的char和varchar都是用于存储字符串数据类型的。两者主要区别是存储方式和存储情况:1)固定长度和可变长度char是固定长度的数据字符串类型,需指存储的字符长度;不论存储的字符长度是否达到了这个长度,都会占据指定存储的字符空间;例:定义一个char为10,......
  • 26.删除有序数组中的重复项
    自己写的,双指针,用tail指针指向不重复有序数组的末尾元素,用index指针进行遍历数组,遇到和末尾元素不一样的元素,放到tail+1的位置,然后tail指针加1classSolution{publicstaticintremoveDuplicates(int[]nums){inttail=0;intindex=0;in......
  • 生信小白菜之GEO芯片数据分析流程--附画图代码
    title:“GEOdataanalysis”author:“yuluyang”date:“2024-03-22”生信技能树数据挖掘课程笔记~小洁老师授课主要内容:数据分组的内容关键词的分组和多分组比较idmap报错的原因及解决方法基因组的注释流程数据的行列互换及方差数值画图示例代码示例数据libr......
  • HashMap---数据结构
    目录一、基本数据结构二、树化与退化三、索引计算四、put方法和扩容五、并发问题六、key的设计一、基本数据结构        在jdk1.7版本的时候,hashmap结构主要是使用数组+链表的格式,而在jdk1.8版本中,hashmap的数据结构增加了一种“红黑树”的结构,即数组+(......
  • 静态数据成员的应用
    classStudent{//1.数据成员privateStringname;privateStringsex;publicstaticStringschool="岳麓书院";//公布静态数据成员//2.省略构造方法;//3.省略setter和getter方法;//4.功能方法publicvoiddisplay(){......