说我想要一个函数来更改给定的DataFrame行号中的命名列的值。
一种选择是找到列的位置并使用iloc,如下所示:
def ChangeValue(df, rowNumber, fieldName, newValue):
columnNumber = df.columns.get_loc(fieldName)
df.iloc[rowNumber, columnNumber] = newValue
但是我想知道是否有一种方法可以一次性使用iloc和loc的魔力,并跳过手动转换。
有任何想法吗?
最佳答案
我建议仅将iloc
与Index.get_loc
方法结合使用。例如:
df.iloc[0:10, df.columns.get_loc('column_name')]
有点笨拙,但足够简单。
MultiIndex
同时包含get_loc
和get_locs
,它们需要一个序列;不幸的是,Index
似乎只有前者。关于python - 如何通过混合iloc和loc在 Pandas DataFrame中设置值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32258817/