我有一个数据框,例如:
>>> df = pd.DataFrame(index=[1,2,3,4], columns=[1,2,3,4])
>>> df
1 2 3 4
1 NaN NaN NaN NaN
2 NaN NaN NaN NaN
3 NaN NaN NaN NaN
4 NaN NaN NaN NaN
>>>
要用作"坐标"的元组列表。其中一个元组,例如:
(2,4)
我想将1
输入到数据框的这个位置:
1 2 3 4
1 NaN NaN NaN NaN
2 NaN NaN NaN 1
3 NaN NaN NaN NaN
4 NaN NaN NaN NaN
我该怎么做?
答案 0 :(得分:2)
使用loc
:
tup = (2,4)
df.loc[tup] = 1
print (df)
1 2 3 4
1 NaN NaN NaN NaN
2 NaN NaN NaN 1
3 NaN NaN NaN NaN
4 NaN NaN NaN NaN
set_value
的另一个解决方案:
df.set_value(tup[0], tup[1], 1)
print (df)
1 2 3 4
1 NaN NaN NaN NaN
2 NaN NaN NaN 1
3 NaN NaN NaN NaN
4 NaN NaN NaN NaN
或get_loc
获取index
和columns
值的位置,并设置为values
创建的numpy array
:
df.values[df.index.get_loc(tup[0]), df.columns.get_loc(tup[1])] = 1
print (df)
1 2 3 4
1 NaN NaN NaN NaN
2 NaN NaN NaN 1
3 NaN NaN NaN NaN
4 NaN NaN NaN NaN