【发布时间】:2018-09-29 20:33:20
【问题描述】:
我正在使用 pandas 读取一个 csv 文件,然后尝试使用 pandas 将 23 列合并为一个新列。 我已经尝试了以下有或没有 lambda 和没有 df.assign:
df = df.assign(X = lambda x: df.A.astype(str) + df.B.astype(str) + df.C.astype(str) + df.D.astype(str) + df.E.astype(str) + df.F.astype(str) + df.G.astype(str) + df.H.astype(str) + df.I.astype(str) + df.J.astype(str) + df.K.astype(str) + df.L. astype(str) + df.M.astype(str) + df.N.astype(str) + df.O.astype(str) + df.P.astype(str) + df.Q.astype(str) + df.R. astype(str) + df.S.astype(str) + df.T.astype(str) + df.U.astype(str) + df.V.astype(str) + df.W.astype(str))
但是,我遇到了 Pandas 的限制,我只能将 19 列合并为一列。所以上面的代码只有在我取它的最后 4 列时才有效。 有什么解决办法吗?还是熊猫限制? 以下行是我以 X 列为目标的数据示例:
A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X GRB,D,43746,CL,S,19400,0A,00506100 ,,00506100 ,,00506100,00050555,330810506105,WES,550,1 ,,,MAS,MAS,0.0403CLS1940005505330810506105505MENANT43746CLS194000A005063080533080606055505MENSANCS,0.0803030310505MYRACHD43746CLS1940008505550505055MYRACENACHAIL
这是我尝试合并所有 23 列时遇到的错误:
ValueError: 传递的项目数错误 1249,位置暗示 1
1249 是我的 CSV 文件的行数。
【问题讨论】:
标签: python python-2.7 pandas dataframe