Python 合并数据帧;插入DataFrame2';将行放入变量DataFrame1';s行/列
这是一个有点混乱/具有挑战性的合并,我在这里尝试这样做,但我还没有找到一个适用于这种情况的StackOverflow问题,所以这里是: DataFrame1采用我的“最终目标”格式(因此我最终希望将数据从DataFrame2粘贴到DataFrame1中),如下所示: 轮廓: 姓名: 公司名称1: 职位1: 工作总结1: 公司名称2: 职位2: 工作总结2: 公司名称3: 职位3: 工作总结3: 个人资料(0) 无名氏 剖面图1 史密斯任務 剖面图2 玛丽·罗 剖面图3 乔·什莫 策略Python 合并数据帧;插入DataFrame2';将行放入变量DataFrame1';s行/列,python,pandas,dataframe,join,Python,Pandas,Dataframe,Join,这是一个有点混乱/具有挑战性的合并,我在这里尝试这样做,但我还没有找到一个适用于这种情况的StackOverflow问题,所以这里是: DataFrame1采用我的“最终目标”格式(因此我最终希望将数据从DataFrame2粘贴到DataFrame1中),如下所示: 轮廓: 姓名: 公司名称1: 职位1: 工作总结1: 公司名称2: 职位2: 工作总结2: 公司名称3: 职位3: 工作总结3: 个人资料(0) 无名氏 剖面图1 史密斯任務 剖面图2 玛丽·罗 剖面图3 乔·什莫 策略 通过set
set_index()
和unstack()
嘿,罗布,谢谢你的回复,我真的很感激。在尝试您的解决方案时,我遇到了一个问题—我的DataFrame2只是一个Pandas DataFrame,因此当我执行
io.StringIO(DataFrame2)
时,我会遇到以下错误:TypeError:initial\u值必须是str或None,而不是DataFrame
。您究竟是如何将DataFrame2中的文本转换为io.StringIO()可以接受的格式的?我使用该构造将SO post中的表转换为DF。如果您已经有了DF,而不仅仅是网页中的文本,您就不会使用它;-)哇,我真是太感谢你了!顺便说一句,这是一个非常优雅的解决方案。非常感谢你,罗布!:)
df = pd.read_csv(io.StringIO("""Profile: Name: Job #: CompanyName: JobTitle: JobSummary:
Profile_0 John Doe 1 Firm A Capacity a Summary a
Profile_0 John Doe 2 Firm B Capacity b Summary b
Profile_0 John Doe 3 Firm C Capacity c Summary c
Profile_1 Jane Smith 1 Firm X Capacity x Summary x
Profile_1 Jane Smith 2 Firm Y Capacity y Summary y
Profile_1 Jane Smith 3 Firm Z Capacity z Summary z
Profile_2 Mary Roe 1 Firm P Capacity p Summary p
Profile_2 Mary Roe 2 Firm Q Capacity q Summary q"""), sep="\t")
# change from long to wide
df = df.set_index(["Profile:","Name:","Job #:"]).unstack()
# rebuild df with values and columns from multi-index
df = pd.DataFrame(df.reset_index().values, columns=["Profile:","Name:"]+ [f"{c[0][:-1]}{c[1]}:" for c in df.columns])
Profile: Name: CompanyName1: CompanyName2: CompanyName3: JobTitle1: JobTitle2: JobTitle3: JobSummary1: JobSummary2: JobSummary3:
0 Profile_0 John Doe Firm A Firm B Firm C Capacity a Capacity b Capacity c Summary a Summary b Summary c
1 Profile_1 Jane Smith Firm X Firm Y Firm Z Capacity x Capacity y Capacity z Summary x Summary y Summary z
2 Profile_2 Mary Roe Firm P Firm Q NaN Capacity p Capacity q NaN Summary p Summary q NaN