【发布时间】:2021-10-04 03:46:24
【问题描述】:
我想将我的 pandas 系列连接/合并在一起。这是我的数据结构(更多信息)
dictionary = { 'a':{'1','2','3','4'}, 'b':{'1','2','3','4'} }
两个级别都有更多的值,每个数字对应一个包含时间序列数据的序列。我想将所有“a”合并到一个数据框中,唯一的问题是有些数据是每年,有些是季度,有些是每月。
所以我要做的是遍历我的数据,如下所示:
for level1 in dictData:
for level2 in dictData[level1]:
dictData[level1][level2].index.equals(dictData[level1][level2])
但显然在这里我只是将这个系列与它本身进行比较!我如何将每个元素与所有其他元素进行比较?我知道我错过了一些相当基本的东西。谢谢。
编辑:
以下是一些实际数据示例:
{'noT10101': {'A191RL': Gross domestic product
1947-01-01 -1.1
1947-04-01 -1.0
1947-07-01 -0.8
1947-10-01 6.4
1948-01-01 4.1
... ...
2020-01-01 -5.0
2020-04-01 -31.4
2020-07-01 33.4
2020-10-01 4.3
2021-01-01 6.4
[370 rows x 1 columns], 'DGDSRL': Goods
1947-01-01 2.9
1947-04-01 7.4
1947-07-01 2.7
1947-10-01 1.5
1948-01-01 2.0
... ...
2020-01-01 0.1
2020-04-01 -10.8
2020-07-01 47.2
2020-10-01 -1.4
2021-01-01 26.6
[370 rows x 1 columns], 'A191RP': Gross domestic product, current dollars
1947-01-01 9.7
1947-04-01 4.7
1947-07-01 6.0
1947-10-01 17.3
1948-01-01 10.0
... ...
2020-01-01 -3.4
2020-04-01 -32.8
2020-07-01 38.3
2020-10-01 6.3
2021-01-01 11.0
[370 rows x 1 columns], 'DSERRL': Services
1947-01-01 0.4
1947-04-01 5.9
1947-07-01 -0.8
1947-10-01 -2.1
1948-01-01 2.7
... ...
2020-01-01 -9.8
2020-04-01 -41.8
2020-07-01 38.0
2020-10-01 4.3
2021-01-01 4.2
[370 rows x 1 columns],
如您所见,字典键 'not10101' 对应一系列键 'A191RL'、'DGDSRL'、'A191RP' 等,其关联值为一个 Series。因此,当我访问 .index 时,我正在查看该系列的索引,即日期时间值。在此示例中,它们都匹配,但在某些情况下它们不匹配。
【问题讨论】:
-
您好,欢迎来到 SO!我对你的例子有点困惑。例如,您正在遍历字典但尝试访问 index 属性。这些数字应该是您真实数据中的数据框,是吗?
-
@HemersonTacon 感谢您的回答和评论,请检查我的编辑
-
我也更新了我的答案。我仍然建议使用相同的方法。如果我正确理解您的问题,它应该适用于您的数据。
标签: python pandas datetime for-loop time-series