[英]How do you append the values of the first column to all other columns in a pandas dataframe
我一直在尝试搜索如何获取第一列的值并将其附加到数据帧中的其余列,但我看到的那些列仍然需要为新输出创建一个新列。
根据我的需要找到的最接近的是这段代码。
df['col'] = 'str' + df['col'].astype(str)
下面是我的数据框的示例
col1 col2 col3 col4
1 02-04-2017 ND 0.32 0.8
2 02-05-2017 0.3 ND No Connection
我想知道的是,我怎样才能得到这个输出?
col1 col2 c ol3 col4
1 02-04-2017 ND|02-04-2017 0.32|02-04-2017 0.8|02-04-2017
2 02-05-2017 0.3|02-05-2017 ND|02-05-2017 No Connection|02-05-2017
您可以使用df.iloc
和str.cat
轻松完成此str.cat
:
df.iloc[:, 1:] = df.iloc[:, 1:].apply(lambda x: x.str.cat(df['col1'], sep='|'))
df
col1 col2 col3 col4
1 02-04-2017 ND|02-04-2017 0.32|02-04-2017 0.8|02-04-2017
2 02-05-2017 0.3|02-05-2017 ND|02-05-2017 No Connection|02-05-2017
您也可以使用df.transform
(v0.20起)。
df.iloc[:, 1:] = df.iloc[:, 1:].transform(lambda x: x.str.cat(df['col1'], sep='|'))
df
col1 col2 col3 col4
1 02-04-2017 ND|02-04-2017 0.32|02-04-2017 0.8|02-04-2017
2 02-05-2017 0.3|02-05-2017 ND|02-05-2017 No Connection|02-05-2017
assign
, add
和radd
df.assign(**df.iloc[:, 1:].astype(str).add(df.col1.radd('|'), 0))
col1 col2 col3 col4
1 02-04-2017 ND|02-04-2017 0.32|02-04-2017 0.8|02-04-2017
2 02-05-2017 0.3|02-05-2017 ND|02-05-2017 No Connection|02-05-2017
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.