我有一些数据
id name model_# ms bp1 cd1 sf1 sa1 rq1 bp2 cd2 sf2 sa2 rq2 ...
1 John 23984 1 23 234 124 25 252 252 62 194 234 234 ...
2 John 23984 2 234 234 242 62 262 622 262 622 26 262 ...
对于上百个模型,最大10毫秒,变量数达21。在
我通常用钯熔体在我看bp1:bp21或者其他什么的地方做我的分析。我现在需要创建一个熔体,在那里我查看bp1值和rq1值。在
我希望能有效地创造出这样的东西:
^{pr2}$现在我所能做的最好的就是:
id model_# ms variable_x value_x variable_y value_y
0 113 77515 1 bp1 23 rq1 252
1 113 77515 1 bp1 23 rq2 262
2 113 77515 1 bp1 23 rq3 311
3 113 77515 1 bp1 23 rq4 246
通过:
df = pd.melt(dat, id_vars=['id', 'mod_req', 'ms'], value_vars=bp)
df1 = pd.melt(dat, id_vars=['id', 'mod_req', 'ms'], value_vars=rq)
df2 = pd.merge(df,df1, on=['id', 'mod_req', 'ms'])
有没有一种简单的方法可以在子串上合并,这样bp1就可以连接到rq1等等?这意味着获取一个只查看bp1:bp21和另一个融合的数据帧rq1:rq21并基于子串值进行合并(bp1rq1,而不是bp1rq2)
解决方案
设置索引…
使用巧妙的列
groupby
…另一个聪明的函数
apply
。。。在功能过度
^{pr2}$旧答案
这可不漂亮,我甚至不确定这是你想要的。在
相关问题 更多 >
编程相关推荐