我在这类数据框中拥有数据(列名和值均为假):
frame1 =
AA BB
Date_Time
2001 1 5
2002 2 6
2017 3 7
2018 4 8
frame2 =
AA BB
Date_Time
2001 10 50
2002 20 60
2017 30 70
2018 40 80
我想将它们合并并整形为一个长格式的数据框,以使用seaborn
进行可视化。像这样:
frame =
stn origin value
Date
2001 AA f1 1
f2 10
BB f1 5
f2 50
...
...
2018 AA f1 4
f2 40
BB f1 8
f2 80
我该怎么做?我没有任何代码可显示,因为我的几次半心半意的尝试远远没有达到我想要的。
答案 0 :(得分:3)
好吧,Ravishankar为我指明了正确的方向。通过一些搜索,我发现(几乎)如何做到这一点,将{{ }}
与组密钥和双堆叠一起使用:
concat
但是,此方法将生成具有多索引的序列,这并不适合所有情况。
要创建具有单个索引(年)的数据框,可以使用以下内容:
foo = pds.concat(dict(f1 = frame1, f2 = frame2), axis=1)
foo.stack().stack()
Date
2001 AA f1 1
f2 10
BB f1 5
f2 50
2002 AA f1 2
f2 20
BB f1 6
f2 60
然后可以根据需要重命名列。
答案 1 :(得分:1)
pd.concat应该可以工作以合并数据帧。无法理解数据样本的重塑
if (!MobileFormat(num, brand, currency))
{
var digits = brand.Equals(Brand.LED.ToString()) ? 9 : 10;
key = $"The number of phone numbers must be '{digits}' digits.";
}