当前位置: 首页 > 知识库问答 >
问题:

从另一列比较python pandas中缺少的值

王旺
2023-03-14

我有一个pandas数据帧,它由两个带值的列组成。有些值丢失了,我想创建第三列,以标记两列中是否都有丢失的值,或者是否有一列被填充。我不知道如何做这件事,因为我是新来的,如果你能提供任何帮助,我将不胜感激

#input 
df = {'First': ['','','A','B','B','C'], 
  'Second': ['12', '', '10', '', '', '11']}
df = pd.DataFrame(data = d)

#Possible output of third column
df['Third'] = ['Secondfilled', 'missing', 'bothfilled', 'Firstfilled', 'Firstfilled', bothfilled']

共有1个答案

姚自强
2023-03-14

您可以通过创建一个自定义函数来完成此操作:

def func(val):
    if (val['First']=='') & (val['Second']!=''):
        return 'Firstfilled'
    elif (val['First']!='') & (val['Second']==''):
        return 'Secondfilled'
    elif (val['First']!='') & (val['Second']!=''):
        return 'bothfilled'
    else:
        return 'missing'

最后使用apply()方法:

df['Third']=df.apply(func,axis=1)
 类似资料:
  • 问题内容: 我有两个简单的表:(这里只有“ id”列) 表格1: 表2: sql查询应比较两个表中table2中缺少的“ id”并返回:1,2 有任何想法吗?:) TY 问题答案: 有几种方法可以给这只猫蒙皮: 或者,您可以使用左外部联接:

  • 我有两个数据帧,希望比较它们并返回第一个数据帧(df1)中不在第二个数据帧(df2)中的行。我找到了一种比较它们并返回差异的方法,但无法找出如何只返回df1中缺失的部分。

  • 问题内容: 我正在与n列的PySpark DataFrame。我有一组m列(m <n),我的任务是选择其中包含最大值的列。 例如: 输入:PySpark DataFrame包含: Ouput: 在PySpark中有什么方法可以执行此操作,还是应该将PySpark df转换为Pandas df,然后执行操作? 问题答案: 您可以减少在列列表中使用SQL表达式: Spark 1.5+还提供, 如果要保

  • 我读过谷歌脚本的两个链接:有条件地将行从一个电子表格复制到另一个电子表格,然后https://stackoverflow.com/a/4809413/1526044在尝试之后,我不能做我需要的事情。 我有一个电子表格,其中一张表上有一些数据,另一张表上有列上的关键信息,以这种方式进行比较: 我需要一个函数来逐行检查我的数据电子表格,查找关键表上的列值。当找到任何值时,它会在数据电子表格的第一列(同

  • 我想将调用活动与其他活动进行比较,以了解哪个调用了当前活动。我试过: 它不起作用,除了通过在调用意图中传递一个值,我们如何使用或来比较类?

  • 我正在用我的“CsvReader”读取csv文件,如下所示: 我使用的csv如下所示: 雇员的dataVO看起来像 包com。cg。dto; 公营雇员{ 字符串empId; 字符串名称; 薪酬; 公共字符串getEmpId(){ 返回empId; } public void setEmpId(字符串empId){ 这empId=empId; } 公共字符串 返回empName; } public