python dataframe去除重复项_python - Pandas DataFrame处理查找DataFrame中的重复项 - 堆栈内存溢出...
我有2个导入到DataFrames中的Excel文件。 一个是我的主要数据集,另一个是查找数据集。 我处理这两个文件以创建CN ON列,这成为我的关键。 查找数据集得到处理,处理后我将删除重复项。 我想将“ Code列引入主数据集。 如果一个CN ON与多个Code值相关联,则将其分配给'Multiple' 。 如果FO = 'R1' ,则使Code = 'R1' 。 如果关联的CN ON没有代码值,则使Code = 'NONE' 。 对于任何不正确的术语,我也深表歉意!
主数据集
df2 = pd.DataFrame({'CN ON': ['WD-D5','JF-04','P5','PK-E4','UL-G8','MD-ZZ'],
'D1': ['D1','D2','D3','D4','D5','D6']
})
查找数据集
df = pd.DataFrame({'CN': ['WD','JG','P5','PK','PK','UL','UL'],
'ON': ['D5','04','','E4','E4','G8','G8'],
'FO': ['A','A','A','A','A','R','R'],
'Code': ['D1','YZ','YZ','HY','PB','SA','SA'],
'CN ON': ['WD-D5','JF-04','P5','PK-E4','PK-E4','UL-G8','UL-G8']
})
当前
CN ON是我的键,然后Code是我要查找的值。 我试图在将数据集连接在一起之前修改df2 。 如果FO = 'R1' ,则设置Code = 'R1' 。 如果一个CN ON与不同的Code值相关联,则为所有实例分配Code = 'MULTIPLE' 。
然后将产生下面的DataFrame。
然后,我将删除重复的行,这将产生一列唯一的CN ON值。 然后,我将DataFrames连接在一起。
#Remove duplicates
df2.drop_duplicates(inplace=True)
带有Code查找的CN ON唯一列表。
#Left join the two DataFrames, with the Main Data Set being on the left on the 'CN ON' column
combined = pd.merge(df,df2[['CN ON','Code']], on = 'CN ON',how='left')
#If no 'Code' exists, then replace the 'NaN' values with 'NONE'
combined.update(combined[['Code']].fillna('NONE'))
所需结果
我当然可以接受其他解决方案,但这在我看来在逻辑上是有意义的。 我在修改df2以使用Code或'Multiple'更新Code列时遇到麻烦。 任何指导或协助将不胜感激! 在这个过程中,我学到了很多东西,并且我获得了StackOverflow的大量帮助。 感谢大家的耐心配合!
python dataframe去除重复项_python - Pandas DataFrame处理查找DataFrame中的重复项 - 堆栈内存溢出...相关推荐
- python创建dataframe表格不显示_Python pandas .使用Series创建DataFrame不会保留dtype
我有一个用例,我认为这很普遍,因此我认为自己的这个问题应该很容易为自己解答,但我找不到任何答案.考虑以下. df = pandas.DataFrame({"id": numpy.r ...
- python单元格内换行_Python Pandas可防止单元格中的换行符
使用以下函数,我已经设法防止在笔记本中的输出中截断: pd.set_option('display.max_colwidth', 200) pd.set_option('display.max_col ...
- python求小于n的所有素数_python - 列出N以下所有素数的最快方法 - 堆栈内存溢出...
警告:由于硬件或Python版本的不同, timeit结果可能会有所不同. 下面是一个脚本,比较了许多实现: 非常感谢斯蒂芬为使sieve_wheel_30引起我的注意. 值得罗伯特·威廉·汉克斯 ( ...
- python拆堆和堆叠的操作_python - 如何合并不同的DFS并堆叠值? - 堆栈内存溢出
我有一个dict ,其中有17 df . 样本dfs : df1 key percent 0 step19_without_lof 14.534883720930232 df2 key percent ...
- python 等值线 标注 间距、控制_python - Matplotlib-Contourf-如何使刻度线间距不均匀? - 堆栈内存溢出...
根据yticks上的matplotlib文档,您可以指定要使用的标签. 在您的情况下,如果要显示标签[10,100,500,1000,1500,2000,3000,4000,5000] ,则可以将该列 ...
- matlab读取格式重复,matlab - 为什么Xlsread以字符串形式读取(日期时间) - 堆栈内存溢出...
我正在尝试阅读Excel工作表. 在同一台计算机上,我得到不同的结果. 我应该怎么做才能将日期时间读为日期而不是字符串? 我知道以后可以更改它,但是我需要为Octave和Matlab使用相同的代码. ...
- opencv 去除噪点 java_c++ - OpenCV-去除图像中的噪点 - 堆栈内存溢出
我在OpenCV中尝试了一些过滤器/操作,它似乎工作得很好. 第1步: 放大图片- kernel = np.ones((5, 5), np.uint8) cv2.dilate(img, kernel, ...
- 题目:查找数组中的重复数字,要求空间复杂度为O(1)(基于Java实现)
题目:查找数组中的重复数字,要求空间复杂度为O(1)(基于Java实现) 题目: 在一个长度为 n 的数组 nums 里的所有数字都在 0-n-1 的范围内.数组中某些数字是重复的,但不知道有几个数字 ...
- Java-Runoob-高级教程-实例-数组:10. Java 实例 – 查找数组中的重复元素-un
ylbtech-Java-Runoob-高级教程-实例-数组:10. Java 实例 – 查找数组中的重复元素 1.返回顶部 1. Java 实例 - 查找数组中的重复元素 Java 实例 以下实例 ...
- python数据去重的函数_python pandas dataframe 去重函数的具体使用
今天笔者想对pandas中的行进行去重操作,找了好久,才找到相关的函数 先看一个小例子 from pandas import Series, DataFrame data = DataFrame({' ...
最新文章
- 总结六条对我们学习Linux系统有用的忠告
- 阿里云服务器Docker及Docker Compose的安装
- Sqlserver循环嵌套
- Nginx安装学习使用具体记录
- spring jms同时使用queue和持久topic订阅
- 编程范式,程序员的编程世界观(转)
- Hive 常见问题与技巧【Updating】
- 【caffe-Windows】mnist实例编译之model的生成
- There is no public key available for the following key IDs: 3B4FE6ACC0B21F32
- ROS launch文档介绍
- 现代软件工程讲义 6 用户调研
- php tp5.3,[李景山php]每天TP5-20161226|thinkphp5-Console.php-3
- js与c语言效率_2020年为什么要精通C语言?是什么造就封神之路?不愧是最强编程语言...
- datagridview合并表头
- yolov4训练自己的数据
- 如何下载java JDK文档
- shapefile文件格式转inp文件格式
- linux 改变输出端口,linux – 更改ssh端口后的Fail2ban设置
- 基于Pytorch中的Dataset和Dataloader读取Voc类目标检测数据集
- OpenAI-2018年强化学习领域7大最新研究方向全盘点