让我们描绘一下我的情景:
我试图对一组给定样本的几个API进行分析。因此,最后,我在脑海中想象如下:
2D表,其中每行是每个样本的名称,每列是每个API的名称。在每个表格中,我最终会得到一个可变数量的对键值(例如,' dog':0.9)。所以,让我们举一个简单的例子
________________________________________________________________________
|row/column | API 1 | API 2 | API 3 | API 4 |
------------------------------------------------------------------------
|sample1 |{'dog':0.9, |{'cat':0.3, |{'dog':0.7, |{'cat':0.2, |
| |'animal': 0.8}|'mammal':0.4} |'mammal':0.3} |'animal':0.9}|
------------------------------------------------------------------------
|sample2 |{'sun':0.6, |{'sun':0.7, |{'wind':0.5, |{'sun':0.1, |
| |'beach': 0.3} |'water':0.7} |'water':0.2} |'wind':0.3} |
------------------------------------------------------------------------
|sample3 |{'tenis':0.9, |{'court':0.3, |{'court':0.7, |{'ball':0.2, |
| |'ball': 0.8} |'player':0.4} |'tennis':0.3} |'court':0.9} |
________________________________________________________________________
等等..
元素的数量不会总是2 ...它可以是0到N,但通常不会超过3-4个标签。
那就是说,之后我想用这些数据做的是简单的计算,如:
你看,没有什么比这更复杂了。
我的问题是,作为一个带有熊猫的总菜鸟...... DataFrame是一个很好的方法吗?这种数据安排是正确还是应该改变?
答案 0 :(得分:1)
是的,您希望使用index
级别sample_id
和api_id
的{{3}},然后您有两列包含{{1}和相关的tag
。然后,您可以使用value
轻松运行您的统计信息,例如。
这可能如下所示:
.groupby(level='api_id').value.max()