-
慕勒3428872
lambda 可能有用 axis=1import pandas as pddf = pd.DataFrame({'a':['1','a','p'], 'b':[2,'d',0], 'c':[3,3,'k']})df=df.astype(str)df['combined']=df[df.columns].apply(lambda x: ' '.join(x), axis=1)
-
翻阅古今
我不认为你这样做的方式有什么问题,但另一种方式(也许更pythonic?)是:df['newcolumn'] = df[['a', 'b', 'c']].apply(lambda x: ' '.join(x), axis=1)使其更适用于大型 df:df['newcolumn'] = df.iloc[:,0:3].apply(lambda x: ' '.join(x), axis=1)其中0:3in iloc 只是列索引 [0,1,2]。您可以通过选择适当的索引对任意选择的列执行此操作。
-
桃花长相依
它将使最后一列成为所有值的列表,但您可以使用以下内容:df['combined'] = df.apply(lambda x: x.tolist(), axis=1)输出如下:a b c combined1 2 3 [1,2,3]a d 3 [a,d,3]p 0 k [p,0,k]