将整行设置为值

时间:2017-02-09 20:49:28

标签: python pandas

我有一个数据框atype

    AT  N   term
1   4   1   1
2   3   2   1
3   2   3   2
4   1   4   2

我需要将新dataframe的整行设置为atype的字词值。这是完成任务的最佳方式吗?

m1 = pd.DataFrame(0, index = atype.index, columns=atype.index)
m2 = pd.DataFrame(0, index = atype.index, columns=atype.index)


for i in range(1, atype.shape[0]+1):
    m1.ix[i] = atype.ix[i,"term"]
    m2[i] = atype.ix[i,"term"]

还是有更好/更有效的方式,我不需要使用循环?

1 个答案:

答案 0 :(得分:2)

这就是你想要的吗?

In [91]: pd.DataFrame([atype.term.values.tolist()] * len(atype),
                      columns=atype.index, index=atype.index).T
Out[91]:
   1  2  3  4
1  1  1  1  1
2  1  1  1  1
3  2  2  2  2
4  2  2  2  2

In [92]: pd.DataFrame([atype.term.values.tolist()] * len(atype),
                      columns=atype.index, index=atype.index)
Out[92]:
   1  2  3  4
1  1  1  2  2
2  1  1  2  2
3  1  1  2  2
4  1  1  2  2