如何使用Pandas将第二行数据作为新列拼接至首行
实现方法
你可以通过分拆行、加后缀后横向拼接的方式实现需求,代码如下:
import pandas as pd # 你的原始DataFrame df = pd.DataFrame({'C':[5,4],'P':[2.3,5.6]}) # 取出索引0的行,保持DataFrame结构 row_0 = df.loc[[0]].reset_index(drop=True) # 取出索引1的行,为所有列名添加_1后缀避免重名 row_1 = df.loc[[1]].reset_index(drop=True).add_suffix('_1') # 横向拼接得到结果 result = pd.concat([row_0, row_1], axis=1)
如果需要更简洁的写法,也可以合并为一行:
result = pd.concat([df.loc[[0]], df.loc[[1]].add_suffix('_1')], axis=1).reset_index(drop=True)
输出结果
最终得到的result结构如下:
C P C_1 P_1 0 5 2.3 4 5.6
说明
- 使用
loc[[0]]而非loc[0]是为了保留DataFrame的二维结构,避免转为Series后出现拼接维度不匹配的问题 - 你要求的重复列名自动加
_1后缀的需求,直接通过add_suffix方法即可实现,无需额外处理列名冲突
内容的提问来源于stack exchange,提问作者RealRageDontQuit
相关产品推荐
相关产品推荐

