用索引替换数据框值

时间:2019-12-06 13:08:42

标签: python-3.x pandas dataframe

我有数据框in

import pandas as pd
in = pd.DataFrame(
    columns=[1, 2],
    data= [['a','b'],['c','d']],
)
in
    1   2
0   a   b
1   c   d

,并希望用索引(行,列)替换单个值(在此:dz)产生数据帧out

    1   2
0   a   b
1   c   z

如何用最有效的索引(在这里,行idx为1,列idx为1)(内存消耗,执行时间)替换值?

1 个答案:

答案 0 :(得分:1)

如果要按位置设置值,请使用DataFrame.iloc(第一个值为0,因为python从0开始计数)

df.iloc[1,1] = 'z'

或者如果要通过标签(索引和列值)设置,请使用DataFrame.loc

df.loc[1,2] = 'z'

如果只想设置一个更好的值,则使用DataFrame.iatDataFrame.at

#by positions
df.iat[1,1] = 'z'

#by labels
df.at[1,2] = 'z'