如何使用Pandas转置将DataFrame数据填充至另一个DataFrame?
解决方法:将转置后的DataFrame填充到目标空DataFrame
嘿,我来帮你搞定这个需求!你需要把转置后的DataFrame内容填充到指定列名的空DataFrame里,这里有两种简洁的实现方式:
方法一:直接提取转置后的值赋值给目标行
这种方法最直接,先提取转置后的数据行,再赋值给空DataFrame的对应行:
import pandas as pd # 定义原DataFrame df = pd.DataFrame({'Attributes': ['love', 'family','tech']}) # 定义目标空DataFrame data = pd.DataFrame(columns=['Attribute_01', 'Attribute_02', 'Attribute_03']) # 提取转置后的行数据并赋值给data的第一行 data.loc[0] = df.T.values[0] # 查看结果 print(data)
执行后输出的结果就是你想要的:
Attribute_01 Attribute_02 Attribute_03 0 love family tech
步骤解释:
df.T对原DataFrame执行转置操作,得到以Attributes为行名、列索引为0/1/2的临时DataFrame。df.T.values[0]提取转置后那一行的所有值,得到一维数组['love', 'family', 'tech']。data.loc[0] = ...将这个数组赋值给目标DataFrame的第0行,自动匹配对应的列名完成填充。
方法二:转置后重命名列再合并
如果需要保留转置后的DataFrame结构再合并,也可以先给转置后的结果重命名列,再和空DataFrame合并:
import pandas as pd df = pd.DataFrame({'Attributes': ['love', 'family','tech']}) data = pd.DataFrame(columns=['Attribute_01', 'Attribute_02', 'Attribute_03']) # 转置并重置索引,重命名列名 transposed_df = df.T.reset_index(drop=True) transposed_df.columns = ['Attribute_01', 'Attribute_02', 'Attribute_03'] # 合并到目标DataFrame data = pd.concat([data, transposed_df], ignore_index=True)
这种方法适合后续还要对转置数据做其他处理的场景,最终得到的结果和方法一完全一致。
内容的提问来源于stack exchange,提问作者Student
相关产品推荐
相关产品推荐

