python,将字典存储在数据帧中

python,将字典存储在数据帧中,python,dictionary,dataframe,pandas,Python,Dictionary,Dataframe,Pandas,我构建了一个熊猫数据框架,它在每个单元格中存储一个简单的字典。例如: {'Sales':0,'Revenue':0} In [15]: wp.A Out[15]: a b 0 1 2 1 5 6 In [16]: wp.minor_xs('a') Out[16]: A B 0 1 3 1 5 7 In [17]: wp.major_xs(0) Out[17]: A B a 1 3 b 2 4 我可以通过以下方式从数据帧检索特定值: df[c

我构建了一个熊猫数据框架,它在每个单元格中存储一个简单的字典。例如:

{'Sales':0,'Revenue':0}
In [15]: wp.A
Out[15]:
   a  b
0  1  2
1  5  6

In [16]: wp.minor_xs('a')
Out[16]:
   A  B
0  1  3
1  5  7

In [17]: wp.major_xs(0)
Out[17]:
   A  B
a  1  3
b  2  4
我可以通过以下方式从数据帧检索特定值:

df[columnA][index100]['Revenue']
但现在我想绘制一张图表,列出
专栏a
中字典中的所有收入值-实现这一点的最佳方法是什么


如果我放弃字典,而是使用两个大小相同的数据帧,从长远来看,生活会更轻松吗?(我对pandas非常陌生,因此不确定最佳实践)。

从列A中获取所有收入值的简单方法是
df[columnA].map(lambda v:v['Revenue'])


取决于你在做什么,如果你稍微调整一下你的结构,生活可能会更轻松。例如,您可以使用一个层次索引,其中“Sales”和“Revenue”作为一个级别的键。

对于大多数用例,将字典存储在DataFrame中不是一个好主意。
另一个值得一提的数据结构是

假设您有一个字典数据框架(具有相当一致的键):

您可以创建一个面板(注意,有更直接/更可取的方法来构造它!):

所以你可以做所有的熊猫数据框:

In [18]: wp.A.plot()  # easy!
Out[18]: <matplotlib.axes.AxesSubplot at 0x1048342d0>
[18]中的
:wp.A.plot()#简单!
出[18]:

还有。

谢谢你——这对洗液很有帮助,我很想看看N-D实验的结果。我们有自己制作的n维物体,用于数据处理,有不同的轴,我经常在平面数据帧和超立方体之间移动。谢谢-我将试验这个以及前面提到的层次索引@BrenBarn@Sylvansight也许值得注意的是,从分层索引数据帧中,您可以通过to_panel方法移动到面板:)@DSM n-d工厂和对象非常复杂功能性(实验性为0.9的标签)。任何愿望列表请打开一个问题。由于Pandas 0.20.0面板已被弃用,根据Pandas的文档建议,方法是使用分层索引或转换到xarray,如所讨论的更新:最后,我使用了一个分层索引,该索引继续完美运行-感谢您的帮助。
In [15]: wp.A
Out[15]:
   a  b
0  1  2
1  5  6

In [16]: wp.minor_xs('a')
Out[16]:
   A  B
0  1  3
1  5  7

In [17]: wp.major_xs(0)
Out[17]:
   A  B
a  1  3
b  2  4
In [18]: wp.A.plot()  # easy!
Out[18]: <matplotlib.axes.AxesSubplot at 0x1048342d0>