如果我有以下内容,如何使pd.DataFrame()将此数组转换为具有两列的数据框。最有效的方法是什么?我的当前方法涉及将每个副本复制到一个系列中,并从它们创建数据框。
从这个开始:
([[u'294 (24%) L', u'294 (26%) R'],
[u'981 (71%) L', u'981 (82%) R'],])
x y
294 294
981 981
而不是
x
[u'294 (24%) L', u'294 (26%) R']
我目前的方法。正在寻找更高效的方法。
numL = pd.Series(numlist).map(lambda x: x[0])
numR = pd.Series(numlist).map(lambda x: x[1])
nL = pd.DataFrame(numL, columns=['left_num'])
nR = pd.DataFrame(numR, columns=['right_num'])
nLR = nL.join(nR)
nLR
更新**
我注意到我的错误在于将列表与序列pd.DataFrame()时的区别。当你从列表创建一个数据框时,它会将项目合并到同一列中,而使用序列则不然。这是以最有效的方式解决了我的问题。