Python中如何将同一DataFrame的两列首尾拼接合并为一个新列
实现方法
情况1:两列纵向拼接为新列(匹配你给出的示例输出)
你期望的A列所有值后接B列所有值的效果属于纵向拼接,直接用pd.concat实现即可:
import pandas as pd # 示例DataFrame构造 df = pd.DataFrame({'A': [1,2,3,4,5], 'B': [6,7,8,9,10]}) # 纵向拼接A、B列为新列,ignore_index参数会重置新列的索引 new_column = pd.concat([df['A'], df['B']], ignore_index=True) # 如果需要把新列追加到原DF中,注意原DF只有5行,新列共10行,无对应值的位置会自动填充为NaN df['new_column'] = new_column
执行后new_column的输出结果为[1,2,3,4,5,6,7,8,9,10],符合需求。
情况2:横向拼接每行的A、B列值
如果你需要的是每行的A值和B值拼接为该行的新值(比如第一行得到1,6、第二行得到2,7),用字符串拼接即可:
df['new_column'] = df['A'].astype(str) + ',' + df['B'].astype(str)
内容的提问来源于stack exchange,提问作者Vikrant Thakur
相关产品推荐
相关产品推荐

