Python 连接一系列字符串

Python 连接一系列字符串,python,string,pandas,dataframe,Python,String,Pandas,Dataframe,假设我有以下数据帧: df = pd.DataFrame({'col1': ['abc', 'defg', 'hwer', 'qwerty'], 'col2': ['123', '456', '890', '90'], 'col3': ['knlk', 'knl', 'op', 'tui']}) 我想用一个特定的字符连接每一行的字符串,我是这样做的: df['col4'] = df['col1'] + '_' + df['col2'] + '_' + df[

假设我有以下数据帧:

df = pd.DataFrame({'col1': ['abc', 'defg', 'hwer', 'qwerty'], 'col2': ['123', '456', '890', '90'],
                  'col3': ['knlk', 'knl', 'op', 'tui']})
我想用一个特定的字符连接每一行的字符串,我是这样做的:

df['col4'] = df['col1'] + '_' + df['col2'] + '_' + df['col3']
但我必须不断重复
,有没有办法做到以下几点:

df['col4'] = '_'.join([df['col1'], df['col2'], df['col3']])
您可以使用:

输出:

有:

df[“col4”]=df[df.columns[0]].str.cat(df[df.columns[1:][1],sep=“"”)
df
#col1 col2 col3 col4
#0 abc 123 knlk abc_123_knlk
#1个defg 456 knl defg_456_knl
#2 hwer 890 op hwer_890_op
#3 qwerty 90 tui qwerty_90_tui

df['col4']=df.apply(lambda x:''u'.join(x),axis=1)
你可以这样做:
df.agg(''u'.join,1)
你可以将
col1
添加到列表中不幸的是,我不能“接受两个正确的答案,因为@Kerac首先回答了,我会给他正确的答案谢谢你的答案!我不知道这个字符串方法存在这里有大量的
Series.str
方法,值得一看!
df['col4'] = df.stack().groupby(level=0).apply('_'.join)
df
df['new'] = df[['col2', 'col3']].apply(lambda x: '_'.join(x), axis=1)