如何更改列中值的顺序?

2024-09-30 12:16:51 发布

您现在位置:Python中文网/ 问答频道 /正文

df3=pd.DataFrame({'col1':['banana','apple','pie','mango','cola'],
                    'col2':['apple','banana','mango','cola','mango'],
                     })
df3['col3']=df3['col1']+df3['col2']

结果

    col1    col2    col3
0   banana  apple   bananaapple
1   apple   banana  applebanana
2   pie     mango   piemango
3   mango   cola    mangocola
4   cola    mango   colamango

改变

col1    col2    col3
0   banana  apple   bananaapple
1   apple   banana  bananaapple
2   pie     mango   piemango
3   mango   cola    mangocola
4   cola    mango   mangocola

如果字符串(ab=ba)变为ab,我要做的是过滤


Tags: appledataframeabcol2col3col1pdbanana
1条回答
网友
1楼 · 发布于 2024-09-30 12:16:51

IIUC,根据您的示例和解释,您的期望转化为简单地对每行进行排序并将它们连接起来

假设您有权访问col1col2,您可以删除添加的2列元素,然后尝试以下操作-

df3 = pd.DataFrame({'col1':['banana','apple','pie','mango','cola'],
                    'col2':['apple','banana','mango','cola','mango']})

#df3['col3']=df3['col1']+df3['col2'] ### REMOVE THIS

df3['col4'] = df3.apply(sorted, reverse=True, axis=1).str.join('')
print(df3)
     col1    col2         col4
0  banana   apple  bananaapple
1   apple  banana  bananaapple
2     pie   mango     piemango
3   mango    cola    mangocola
4    cola   mango    mangocola

编辑:使用矢量化的str函数更新,用于加入字符串列表,这比.apply()快得多

相关问题 更多 >

    热门问题