我正在尝试转置关联的每个值列表。这实际上是一个数据集问题,但我认为在此处获得关联的答案会更容易。
我目前有一个看起来像这样的关联列表:
assoc =
{<|"a" -> 5, "b" -> 7, "c" -> 9, "d" -> 8|>,
<|"a" -> 3, "b" -> 12, "c" -> 14, "d" -> 17|>,
<|"a" -> 8, "b" -> 0, "c" -> 5, "d" -> 32|>}
而且我想将每个“ b”,“ c”,“ d”与每个“ a”换位:所以我的输出将是:
{{"a" -> 5, "b" -> 7},
{"a" -> 5, "c" -> 9},
{"a" -> 5, "d" -> 8},
{"a" -> 3, "b" -> 12},
{"a" -> 3, "c" -> 1},
{"a" -> 3, "d" -> 17},
{"a" -> 8, "b" -> 0},
{"a" -> 8, "c" -> 5},
{"a" -> 8, "d" -> 32}}
我尝试了各种映射和转置方法,但找不到任何有效的方法。
我希望对此有所帮助!
如果您对问题的根源感兴趣-我有一个构建如下的数据集:
ds={<|"date" -> "01/06", "a" -> 140., "b" -> 868., "c" -> 450.,
"d" -> 593., "e" -> 233., "f" -> 457.,
"g" -> 105.|>,
<|"date" -> "02/06", "a" -> 139., "b" -> 836.,
"c" -> 477., "d" -> 528., "e" -> 268., "f" -> 472.,
"g" -> 119.|>,
<|"date" -> "03/06", "a" -> 117., "b" -> 820.,
"c" -> 409., "d" -> 563., "e" -> 298., "f" -> 461.,
"g" -> 116.|>}
我正在尝试创建一个DateListPlot,其中所有列均为行,“ date”为时间序列。制作DateListPlot的最简单方法似乎是将每一列与date列进行转置:
DateListPlot[Transpose[{Normal[ds[All, "date"]] , Normal[ds[All, "a"]]}]]
但是我不知道如何对每一列执行此操作,然后将所有列作为单独的行放入DateListPlot中。
DateListPlot[Transpose[{DateList[{#,
{"Month", "YearShort"}}] & /@
Map[Key["date"], ds], #}] & /@
(Map[Key[#], ds] & /@
{"a", "b", "c", "d", "e", "f", "g"})]