说我想要一个函数来更改给定的DataFrame行号中的命名列的值。
一种选择是找到列的位置并使用iloc,如下所示:

def ChangeValue(df, rowNumber, fieldName, newValue):
    columnNumber = df.columns.get_loc(fieldName)
    df.iloc[rowNumber, columnNumber] = newValue

但是我想知道是否有一种方法可以一次性使用iloc和loc的魔力,并跳过手动转换。

有任何想法吗?

最佳答案

我建议仅将ilocIndex.get_loc方法结合使用。例如:

df.iloc[0:10, df.columns.get_loc('column_name')]

有点笨拙,但足够简单。
MultiIndex同时包含get_locget_locs,它们需要一个序列;不幸的是,Index似乎只有前者。

关于python - 如何通过混合iloc和loc在 Pandas DataFrame中设置值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32258817/

10-13 05:47