有没有办法遍历特定列并替换熊猫中的单元格值?

乘风 python 304

原文标题Is there a way to Iterate through a specific column and replace cell values in pandas?

如果列中的单元格值通常包含数字或包含逗号等特定内容,如何替换列中的单元格值,将整个单元格值替换为其他内容。

例如,一个带有逗号的列表示它有多个我希望将其替换为“ENM”之类的文本。

对于具有数字值的单元格的列,我想将其替换为“UNM”

原文链接:https://stackoverflow.com//questions/71522066/is-there-a-way-to-iterate-through-a-specific-column-and-replace-cell-values-in-p

回复

我来回复
  • codingray的头像
    codingray 评论

    由于您没有提供预期和当前输出的示例,因此我在下面做出一些假设。您似乎想要做的是遍历列中的每个值,如果该值满足某些条件,请将其更改为其他值。

    只是一个通用指针。遍历数据框需要一些重要的考虑因素以适应更大的尺寸。通读此答案以获得更多见解。

    首先定义一个要用于检查值的函数:

    def has_comma(value):
        if ',' in value:
            return True
        return False
    

    然后使用pandas.DataFrame.replace方法进行更改。

    for i in df['column_name']:
        if has_comma(i):
            df['column_name'] = df['column_name'].replace([i], 'ENM')
        else:
            df['column_name'] = df['column_name'].replace([i], 'UNM')
    
    2年前 0条评论