我有一个Pandas数据帧,其中有一个列满是我想要替换为另一个非条件值的值。
对于这个问题,假设我不知道这个列有多长,也不想迭代它的值。
使用.replace()是不合适的,因为我不知道该列中有哪些值:我想替换所有的值,而不考虑条件。
使用df.loc[<行选择>, <列选择>]也不适用,因为没有行选择逻辑:我需要所有的行,并且仅写True(如data.loc[True,'ColumnName'] = new_value)会返回KeyError(True,)。我尝试了data.loc[1,'ColumnName'] = new_value,它可以工作,但看起来真的很糟糕。
如果我知道data['ColumnName']的len(),那么我可以创建一个大小与之相等的数组,填充我的new_value,并简单地用该数组替换该列。这样做比需要1行代码的条件替换还要复杂,代码需要10行:这也不可取。
如何用1行告诉Pandas:ColumnName中的所有值现在都是new_value?我拒绝相信没有办法告诉Pandas不用再折腾我了。
对于这个问题,假设我不知道这个列有多长,也不想迭代它的值。
使用.replace()是不合适的,因为我不知道该列中有哪些值:我想替换所有的值,而不考虑条件。
使用df.loc[<行选择>, <列选择>]也不适用,因为没有行选择逻辑:我需要所有的行,并且仅写True(如data.loc[True,'ColumnName'] = new_value)会返回KeyError(True,)。我尝试了data.loc[1,'ColumnName'] = new_value,它可以工作,但看起来真的很糟糕。
如果我知道data['ColumnName']的len(),那么我可以创建一个大小与之相等的数组,填充我的new_value,并简单地用该数组替换该列。这样做比需要1行代码的条件替换还要复杂,代码需要10行:这也不可取。
如何用1行告诉Pandas:ColumnName中的所有值现在都是new_value?我拒绝相信没有办法告诉Pandas不用再折腾我了。
data['ColumnName'] = new_value
? ->data['列名'] = 新值
- Vishnu Kunchur