首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何使用其他列中的字符串填充df列,有时包含np.nan,迭代elifs以返回适当的组合?

要使用其他列中的字符串填充df列,包括np.nan,并且根据条件返回适当的组合,可以使用apply函数结合条件语句来实现。以下是一种可能的实现方式:

代码语言:txt
复制
import pandas as pd
import numpy as np

# 创建示例数据框
df = pd.DataFrame({'A': ['apple', 'banana', np.nan, 'orange'],
                   'B': ['red', np.nan, 'yellow', np.nan],
                   'C': ['big', 'small', 'medium', 'large'],
                   'D': [np.nan, 'purple', 'green', 'blue']})

# 定义填充函数
def fill_column(row):
    # 检查列中的值是否为nan
    if pd.isna(row['A']):
        # 如果是nan,则使用B列的值填充
        return row['B']
    elif pd.isna(row['B']):
        # 如果B列的值是nan,则使用C列的值填充
        return row['C']
    elif pd.isna(row['C']):
        # 如果C列的值是nan,则使用D列的值填充
        return row['D']
    else:
        # 如果都不是nan,则返回A、B和C列的组合字符串
        return row['A'] + '-' + row['B'] + '-' + row['C']

# 应用填充函数到每一行
df['Filled'] = df.apply(fill_column, axis=1)

print(df)

这将输出:

代码语言:txt
复制
        A       B       C       D      Filled
0   apple     red     big     NaN   apple-red-big
1  banana     NaN   small  purple  banana-small
2     NaN  yellow  medium   green  yellow-medium
3  orange     NaN   large    blue   orange-blue

在这个例子中,我们创建了一个名为Filled的新列,并通过应用fill_column函数到每一行来填充它。在函数中,我们首先检查每个列的值是否为nan,然后根据条件返回相应的值或组合字符串。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • Pandas数据处理1、DataFrame删除NaN空值(dropna各种属性值控制超全)

    这个女娃娃是否有一种初恋的感觉呢,但是她很明显不是一个真正意义存在的图片,我们需要很复杂的推算以及各种炼丹模型生成的AI图片,我自己认为难度系数很高,我仅仅用了64个文字形容词就生成了她,很有初恋的感觉,符合审美观,对于计算机来说她是一组数字,可是这个数字是怎么推断出来的就是很复杂了,我们在模型训练中可以看到基本上到处都存在着Pandas处理,在最基础的OpenCV中也会有很多的Pandas处理,所以我OpenCV写到一般就开始写这个专栏了,因为我发现没有Pandas处理基本上想好好的操作图片数组真的是相当的麻烦,可以在很多AI大佬的文章中发现都有这个Pandas文章,每个人的写法都不同,但是都是适合自己理解的方案,我是用于教学的,故而我相信我的文章更适合新晋的程序员们学习,期望能节约大家的事件从而更好的将精力放到真正去实现某种功能上去。本专栏会更很多,只要我测试出新的用法就会添加,持续更新迭代,可以当做【Pandas字典】来使用,期待您的三连支持与帮助。

    02

    《利用Python进行数据分析·第2版》第7章 数据清洗和准备7.1 处理缺失数据7.2 数据转换7.3 字符串操作7.4 总结

    在数据分析和建模的过程中,相当多的时间要用在数据准备上:加载、清理、转换以及重塑。这些工作会占到分析师时间的80%或更多。有时,存储在文件和数据库中的数据的格式不适合某个特定的任务。许多研究者都选择使用通用编程语言(如Python、Perl、R或Java)或UNIX文本处理工具(如sed或awk)对数据格式进行专门处理。幸运的是,pandas和内置的Python标准库提供了一组高级的、灵活的、快速的工具,可以让你轻松地将数据规变为想要的格式。 如果你发现了一种本书或pandas库中没有的数据操作方式,请尽管

    09
    领券