如何使用元组填充数据框?

时间:2017-05-09 16:28:24

标签: python python-3.x pandas dataframe

我有一个数据框,例如:

>>> 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

我该怎么做?

1 个答案:

答案 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获取indexcolumns值的位置,并设置为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