下面有一个pandas DataFrame示例对象,我在这个对象上执行一个group by correlation计算。最后,我想看看Value1
和Value2
之间的时间序列相关性
data = [
(1, 'alpha', 3, 101, 2),
(1, 'beta', 2, 102, 3),
(1, 'gamma', 5, 103, 4),
(2, 'alpha', 2.5, 101, 1),
(2, 'beta', 2.2, 105, 2),
(2, 'gamma', 5, 100, 0),
(3, 'alpha', 2.1, 102, 0),
(3, 'beta', 2.0, 102, 3.3),
(3, 'gamma', 5, 100, 2),
]
datapd = pandas.DataFrame(data, columns=('Time', 'ID', 'Value1', 'Value2', 'Value3'))
corrvals = datapd.groupby('Time').corr()
所以当我查看corrvals['Value1']
时,我只想选择所有Value2
项。然而,它们在Time
之后的水平上。例如corrvals['Value1'].index.values
显示:
array([(1, 'Value1'), (1, 'Value2'), (1, 'Value3'), (2, 'Value1'),
(2, 'Value2'), (2, 'Value3'), (3, 'Value1'), (3, 'Value2'),
(3, 'Value3')], dtype=object)
我如何要求索引Value2
在第二个元组中的所有值,而在第一个元组中没有要求?你知道吗
我想指出这个警告here,因为您在以下两种情况下得到了不同的结果:
这将在列上选择。因为这与
corrvals.loc[:,'Value2']
完全相同,例如典型的列选择这将在索引上选择。(注意后面的逗号)。你知道吗
最后,这里是另一种选择方法,使用
.query
。ilevel_1
是第一级的名字对象(从0开始编号),因为它没有名称。你知道吗可以重命名标高。你知道吗
那么查询就简单了。你知道吗
您可以使用新的^{} :
或
Slice
:或将
axis=0
传递给loc
:相关问题 更多 >
编程相关推荐