#pandas
#pandas
Вопрос:
import pandas as pd
import numpy as np
df=pd.DataFrame({"item":['a','a','a','b'],"item1":['b','d',np.nan,'c']})
Содержимое df
item item1
0 a b
1 a d
2 a NaN
3 b c
Я хочу изменить значение второго элемента «item» на 1, следующее не работает
df.iloc[0,"item"]="b"
Мой ожидаемый результат:
item item1
0 a b
1 1 d
2 a NaN
3 b c
Каков правильный способ добиться этого?
Ответ №1:
Используется Index.get_loc
для определения положения столбца item
, поэтому возможно установить значение в DataFrame.iloc
:
df.iloc[1, df.columns.get_loc("item")] = 1
Или с помощью DataFrame.loc
:
#if any unique index
df.loc[df.index[1], "item"] = 1
#if default index
df.loc[1, "item"] = 1
print (df)
item item1
0 a b
1 1 d
2 a NaN
3 b c