1、遇到问题

今天接到爬取手机型号的需求,在完成初版以后执行时,发现遇到了 Reindexing 仅对唯一值的索引对象有效。中间细节省略,就摘出相关的代码:

df=pd.DataFrame(columns=['手机model','手机机型','手机全称','手机机型'])   一个字典中插入了相关数据:
phone_mapping_model = {}
phone_mapping_model['手机model'] = "1"
phone_mapping_model['手机全称'] = "2"
phone_mapping_model['手机品牌'] = "3"
phone_mapping_model['手机机型'] = "4"#将字段转为DataFrame
df1 = pd.DataFrame(phone_mapping_model, index=[0])#将两个DataFrame进行拼接
df = pd.concat([df, df1],  axis = 0)

通过Debug发现在把DataFrame(df1)拼接到最终的DataFrame(df)中时,就报错了:
pandas.errors.InvalidIndexError: Reindexing only valid with uniquely valued Index objects

二、排查问题

在 Stack Overflow上 有大佬建议可以缓解该错误,并且不需更改数据或删除重复数据。只需使用DataFrame.reset_index创建一个新索引,我就改了试试:

df1 = pd.DataFrame(phone_mapping_model, index=[0])
df.reset_index(inplace=True, drop=True)
df = pd.concat([df, df1],  axis = 0)

还是报一样的错:

然后我将axis属性置为1看了看,可以发现不会报错了,只是每次新的手机型号在列上进行追加:

df = pd.concat([df, df1],  axis = 1)

三、问题解决

其实非常简单,把其中 df 中的列删掉就可以正常实现每次将新获取的手机机型与df进行拼接:

df=pd.DataFrame()   #df=pd.DataFrame(columns=['手机model','手机机型','手机全称','手机机型'])

Python中将两个DataFrame拼接时遇到:InvalidIndexError: Reindexing only valid with uniquely valued Index objects相关推荐

  1. 已解决pandas.errors.InvalidIndexError: Reindexing only valid with uniquely valued Index objects

    已解决raise InvalidIndexError(self._requires_unique_msg) pandas.errors.InvalidIndexError: Reindexing on ...

  2. InvalidIndexError: Reindexing only valid with uniquely valued Index objects 处理

    不想了解原因,直接对处理的数据进行如下处理: DataFrame= DataFrame.loc[:,~DataFrame.columns.duplicated()] 原因与分析 当在为DataFram ...

  3. Python中将两个列表数据zip起来并遍历(Iterating through two lists in parallel)

    Python中将两个列表数据zip起来并遍历(Iterating through two lists in parallel) 目录 Python中将两个列表数据zip起来并遍历(Iterating ...

  4. Python中将两个列表(list)数据zip起来

    Python中将两个列表(list)数据zip起来 目录 Python中将两个列表(list)数据zip起来

  5. Python中将pandas的dataframe拷贝到剪切板并保持格式实战:to_clipboard()函数、复制到Excel文件、复制到文本文件(默认是tsv格式)、复制到文本文件(设置逗号分隔符)

    Python中将pandas的dataframe拷贝到剪切板并保持格式实战:to_clipboard()函数.复制到Excel文件.复制到文本文件(默认是tsv格式).复制到文本文件(设置逗号分隔符) ...

  6. python直方图的拟合_从一组数据python中将两个高斯拟合成直方图

    这里使用scipy工具进行模拟: from pylab import * from scipy.optimize import curve_fit data=concatenate((normal(1 ...

  7. python中两个字典如何合并为一个_python怎么合并两个字典

    Python中将两个字典进行合并操作,是一个比较常见的问题.本文将介绍几种实现两个字典合并的方案,并对其进行比较. 对于这个问题,比较直观的想法是将两个字典做相加操作,赋值给结果字典,其代码为: py ...

  8. python使用pandas计算dataframe中每个分组的分位数极差、分组数据的分位数极差(range)、使用groupby函数和agg函数计算分组的两个分位数

    python使用pandas计算dataframe中每个分组的分位数极差.分组数据的分位数极差(range).使用groupby函数和agg函数计算分组的两个分位数 目录

  9. python中的join函数连接dataframe_python pandas处理CSV文件并使用join()方法拼接两个dataframe...

    本问主要讲解如何拼接两个dataframe import pandas as pd import numpy as np import matplotlib.pyplot as plt from py ...

  10. python 找出两个dataframe中不同的元素

    pandas从Excel中读取数据,数据格式为dataframe格式 用for循环对进行两个列的数据比较想找出不同的元素时,发现数据是一样的,但是比较结果却是相同和不同的都存在(总之就是不是我以为的效 ...

最新文章

  1. 美团面试失败(Java开发)
  2. WinSock学习笔记3:Select模型
  3. ASP.NET设置焦点到输入框
  4. python输入一个字母_python – Tkinter输入的第一个字母
  5. 自动计算请假工时 排除周六周日
  6. .net与mysql,ASP.NET与MySql的连接
  7. 软件设计:表达组织中的上下级关系
  8. apache2配置优化以及性能测试小结
  9. Bailian2950 摘花生【贪心】
  10. juk互粉攻略set结构体
  11. html5小米手机调用摄像头,html5摄像头 如何调用手机摄像头
  12. Excel 复制时数据提示图片太大,超过部分将被截去
  13. js页面跳转 URL含中文造成乱码
  14. 人像考勤机php数据,考勤机数据分析测试案例 - 测试人生 - 51Testing软件测试网 51Testing软件测试网-软件测试人的精神家园...
  15. Java实现表格打印翻页_简单又实用的小文章来了----表格分页打印的那些小事(2)...
  16. ASO和ASA的关系与区别
  17. 如何查看mysql库中表的创建语句
  18. Android二維碼掃描
  19. web网页设计—— 指环王:护戒使者(13页) 电影网页设计 在线电影制作 个人设计web前端大作业
  20. 2018年年中个人总结

热门文章

  1. ROS学习笔记---ros的通信机制
  2. Windows XP中的命令行界面
  3. [BZOJ5145] [Ynoi2018] 五彩斑斓的世界 [并查集][分块][摊还分析]
  4. PNP三极管和NPN三极管的开关电路(EC极性接线判断简单明了)简单的技巧:三极管上箭头所在方向的二极管,只要二极管正向导通,那么三极管上下就能导通。
  5. 2019,谢谢曾经努力的自己| 个人年度总结
  6. 空气温湿度光照度传感器
  7. 基于32feet.net对Broadcom(Widcomm) stack蓝牙(Bluetooth)设备开发Windows Mobile与PC程序
  8. 前端小白入门之css
  9. 小数在内存中是如何存储的
  10. ABAP 7.4 CORRESPONDING()语法