给定一个数据帧字典,例如:
dict = {'ABC': df1, 'XYZ' : df2} # of any length...
其中每个数据框具有相同的列和相似的索引,例如:
data Open High Low Close Volume
Date
2002-01-17 0.18077 0.18800 0.16993 0.18439 1720833
2002-01-18 0.18439 0.21331 0.18077 0.19523 2027866
2002-01-21 0.19523 0.20970 0.19162 0.20608 771149
最简单的方法是将所有数据帧组合成一个,并具有如下所示的多索引:
symbol ABC XYZ
data Open High Low Close Volume Open ...
Date
2002-01-17 0.18077 0.18800 0.16993 0.18439 1720833 ...
2002-01-18 0.18439 0.21331 0.18077 0.19523 2027866 ...
2002-01-21 0.19523 0.20970 0.19162 0.20608 771149 ...
我尝试了几种方法-例如,对于每个数据框,使用多索引之类替换列,.from_product(['ABC', columns])
然后将其串联axis=1
,但没有成功。
您可以使用concat
(keys
参数将创建层次结构列索引)执行此操作:
d = {'ABC' : df1, 'XYZ' : df2}
print pd.concat(d.values(), axis=1, keys=d.keys())
XYZ ABC \
Open High Low Close Volume Open High
Date
2002-01-17 0.18077 0.18800 0.16993 0.18439 1720833 0.18077 0.18800
2002-01-18 0.18439 0.21331 0.18077 0.19523 2027866 0.18439 0.21331
2002-01-21 0.19523 0.20970 0.19162 0.20608 771149 0.19523 0.20970
Low Close Volume
Date
2002-01-17 0.16993 0.18439 1720833
2002-01-18 0.18077 0.19523 2027866
2002-01-21 0.19162 0.20608 771149
确实需要concat
列表,因此以下等效:
print(pd.concat([df1, df2], axis=1, keys=['ABC', 'XYZ']))
问题内容: 我有一个问题,我通过沿行轴串联(垂直堆叠)来生成熊猫数据框。 每个组成数据帧都有一个自动生成的索引(升序编号)。 串联后,我的索引被搞砸了:它的计数最多为n(其中n是相应数据帧的shape [0]),并在下一个数据帧从零重新开始。 我正在尝试“根据给定的当前顺序重新计算索引”或“重新索引”(或者我认为)。事实证明,这似乎并没有在做。 这是我尝试做的事情: 它失败并显示“无法从重复的轴重
这是我的数据库的简化版本。 我正在尝试选择2016年B列中的值为零的所有商店。所以在这种情况下,我希望选择商店A和C。 仅选择 B = 0 的各个行。而我想要的是选择这个 提前感谢帮助或建议。
现在,我要检索一个值: Q1:在[3.3,6.6]范围内-预期返回值:[3.3,5.5,6.6]或[3.3,3.3,5.5,6.6](包括最后一个),如果没有,则为[3.3,5.5]或[3.3,3.3,5.5]。 Q2:在[2.0,4.0]范围内-预期返回值:[3.3]或[3.3,3.3] 对于任何其他多索引维度都是相同的,例如B值: Q3:在范围[111,500]中有重复,作为范围中的数据行数-
我有一个多索引的,其名称附加到列级别。我希望能够轻松地对列进行无序排列,以便它们与用户指定的顺序相匹配。由于这是管道,我无法使用此推荐的解决方案,并在创建时正确订购它们。 我有一个数据表,看起来像 我想采取这样的列表并重新排序: 附带一个警告,我并不总是知道“实验”会是什么水平。我试过(其中是上图的多索引框架) 但是这似乎不起作用——它成功地完成了,但是返回的数据帧的列顺序没有改变。 我的解决方法
问题内容: 我在pandas df中有一个包含多索引列的数据集,我想按特定列中的值进行排序。我尝试使用sortindex和sortlevel,但无法获得所需的结果。我的数据集看起来像: 我想按降序按组1中的C列对所有数据和索引进行排序,因此我的结果如下所示: 是否可以对数据所在的结构进行这种排序,还是应该将Group1交换到索引端? 问题答案: 当按MultiIndex排序时,您需要在列表中包含描
如果我定义一个像这样的分层索引数据框: 内容如下所示: 我知道如何提取与给定列对应的数据。例如。对于列: 如何提取符合以下标准集的数据: , , , column , , 列 和 、、列、以及从开始的所有列 是偶数 (顺便说一句,我做了不止一次rtfm,但我真的觉得难以理解。)