我有一个pandas.DataFrame
(df
)和一些元数据,其中有一个ID
、Column
和Value
,我想与另一个df
结合使用,例如:
df_map = pd.DataFrame({"ID" : [3, 7, 17], "Column" : ["A1", "B7", "C17"],
"Value" : ["ValA1", "ValB7", "ValC17"]})
我想把上面的与下面的df
结合起来,其中列名称与上面Column
中的行条目匹配,下面df
中的行值与上面ID
行值匹配。你知道吗
df_main = pd.DataFrame({"A1" : [3, 6], "A5" : [5, 10], "B7" : [7, 14] ,
"C17" : [17, 34], "C19" : [19, 38] })
因此,我希望将这些合并到df's
中,这样我就可以基于Value
列对其进行重塑,将它们添加为ID's
匹配的附加维度,即df_result = combine(df_map, df_main)
我基本上预期结果如下
df_result = pd.DataFrame({"A1" : [3, 6], "A5" : [5, 10], "B7" : [7, 14] ,
"C17" : [17, 34], "C19" : [19, 38], "Value A1" : ["ValA1", None],
"Value B7" : ["ValB7", None], "Value C17" : ["ValC17", None ]})
Out[30]:
A1 A5 B7 C17 C19 Value A1 Value B7 Value C17
0 3 5 7 17 19 ValA1 ValB7 ValC17
1 6 10 14 34 38 None None None
不确定在pandas
中最好的方法是什么?
具有Series.map和pandas.concat的替代解决方案:
首先^{} 将} 中丢失,然后使用^{} 将^{} 重新整形,使用^{} 仅删除缺少的列,最后使用
index
转换为列,以避免在^{map
将MultiIndex
展平:相关问题 更多 >
编程相关推荐