如何在Dataframe中使用*args not in for循环?

zfycwa2u  于 2021-07-13  发布在  Java
关注(0)|答案(1)|浏览(250)

关闭。这个问题需要更加突出重点。它目前不接受答案。
**想改进这个问题吗?**通过编辑这篇文章更新这个问题,使它只关注一个问题。

三小时前关门了。
改进这个问题
我有如下代码。

def putTogether(self, createCol, fisrtCol, secondCol):
    self.data[createCol] = self.data[fisrtCol].map(str) + '_' + self.data[secondCol].map(str)
    return self.data

这将返回组合在一起的字符串。举个例子,我爱你。但是列的数量并不总是必须是2。它可以是任意的。所以我想用*args来增加灵活性。
所以理想的情况下,我希望它是下面的一种形式。

def putTogether(self, createCol, *args):
    ...
    return self.data

当*args不在for循环中时,有人能帮我解决这个问题吗?
先谢谢你。

ekqde3dh

ekqde3dh1#

使用嵌套在中的生成器表达式 str.join :

def putTogether(self, createCol, *columns):
    self.data[createCol] = "_".join(self.data[col].map(str) for col in columns)
    return self.data

相关问题