如果我有以下内容,如何使pd.DataFrame()将此数组转换为具有两列的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()是一个列表还是一个序列。当您从列表中创建数据帧时,它会将项目合并到同一列中。名单上没有。以最有效的方式解决了我的问题。
要升级@unutbu answer,因为我认为由于此参数,代码将无法工作:
所以我认为这应该是一个错误的论点:
取自官方docs。
相关问题 更多 >
编程相关推荐