我有一个数据框,例如:
>>> 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
我该怎么做?
最佳答案
使用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
关于python - 如何使用元组填充数据框?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43875231/