pandas选择pivot_table

时间:2016-11-28 23:57:32

标签: python pandas pivot-table

这个主题有几个问题,但在我的案例中似乎没有任何问题。这是我想要的一个愚蠢的版本:

这是感兴趣的csv文件:http://pastebin.com/rP7tPDse

我将透视表创建为:

piv = pd.read_csv("test.csv",delimiter = "\s+").pivot_table('z','x','y')

然后返回

y    0.0  1.0  1.3  2.0
x
0.0  1.0  5.0  NaN  4.0
1.0  3.0  4.0  NaN  6.0
1.5  NaN  NaN  7.0  NaN
2.0  3.0  5.0  NaN  7.0

我想找到一个这个数组的片段作为pivot_table,例如:

y    1.3  2.0
x
0.0  NaN  4.0
1.0  NaN  6.0

基于x和y值。我想要包含NaN以及稍后对它们进行处理。非常感谢。

编辑:更新问题更具体。

我希望提取一个数据透视表,该数据透视表的值由列' z'表示。并由' x'索引并且' y',条件是:

  • 任意xmin和xmax之间的所有x值
  • 任意ymin和ymax之间的所有y值

piv ,如上所述,我想做类似的事情:

piv.loc[(piv.y <= 2.0) & 
(piv.y >= 1.3) & 
(piv.x >= 0.0) & 
(piv.x <= 1.2)]

这会让我得到上面的例子答案。 此外,在我未在此处发布的实际数据集中,还有更多列。 &#39; x&#39;,&#39; y&#39;和&#39; z&#39;只是其中的一部分。

1 个答案:

答案 0 :(得分:2)

当我复制数据帧时,列是字符串,行是浮点数 将列设为float

df.columns = df.columns.astype(float)

现在你可以Tags New

df.loc[pd.IndexSlice[0:1], pd.IndexSlice[1.3:2]]

pd.IndexSlice