繁体   English   中英

如何将第一列的值附加到pandas数据帧中的所有其他列

[英]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.ilocstr.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

assignaddradd

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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM